JusticeHui가 PS하는 블로그


  • 홈

  • 소개

  • 아카이브

  • 태그

  • 카테고리

  • 과외 홍보

  • 검색

백준15888 정답은 이수근이야!!

작성일 2018-08-13 | In Sunrin-PS

문제 링크

  • http://icpc.me/15888
더 읽어보기 »

백준15886 내 선물을 받아줘 2

작성일 2018-08-12 | In Sunrin-PS

문제 링크

  • http://icpc.me/15886
더 읽어보기 »

A* 알고리즘

작성일 2018-08-12 | In Other-Algorithm

이 알고리즘은 출발점부터 도착점까지의 최단 경로(정확히는 최단 경로에 근접한 결과)를 알아내는 알고리즘입니다.

더 읽어보기 »

[수학알고리즘] 유클리드 호제법

작성일 2018-08-11 | In Easy-Algorithm

이 글에서는 유클리드 호제법의 증명과 원리를 다룹니다.

더 읽어보기 »

Unifox C++ 보고서 (하)

작성일 2018-08-09 | In Unifox

제4장. 클래스와 객체의 심화

가. copy and swap idiom

스마트 포인터와 같은 리소스를 관리하는 모든 클래스는 The Big Three라 불리는 것들을 구현해야 한다. 복사 생성자와 소멸자의 목표와 구현은 간단하지만 복사 할당 연산자는 어렵다. 이를 해결하기 위한 해결책이 복사 및 교환 관용구(copy and swap idiom)이며, 할당 연산자가 코드 중복(Code Duplication)을 피하고 강력한 예외 보장(Strong Exception Guarantee)을 제공하는 두 가지 작업을 지원한다.
작동 방식을 알아보자. 개념적으로 복사 생성자의 기능을 이용하여 데이터의 복사본을 만든 뒤, 복사된 데이터를 swap함수로 가져와 이전 데이터를 새 데이터로 바꾼다. 그 후, 임시 복사본이 삭제되고 이전 데이터가 삭제된다. copy and swap idiom을 사용하기 위해서는 복사 생성자, 소멸자, swap함수 3가지가 필요하다. swap함수는 클래스의 두 개체를 서로 바꿔주는 함수이다. swap함수를 직접 구현하지 않고 std::swap함수를 사용하고 싶을 수도 있겠지만, 이것은 불가능하다. std::swap은 구현 내에서 복사 생성자와 복사 할당 연산자를 사용하여 궁극적으로 할당 연산자를 자체적으로 정의하려 한다.

더 읽어보기 »

Unifox C++ 보고서 (상)

작성일 2018-08-08 | In Unifox

저자

  • 선린인터넷고등학교 소프트웨어과, Unifox 10기 나정휘
더 읽어보기 »

백준8983 사냥꾼

작성일 2018-07-23 | In KOI

문제 링크

  • http://icpc.me/8983
더 읽어보기 »

Unifox C언어 보고서 (하)

작성일 2018-07-19 | In Unifox

제 4장 메모리

가. 메모리 영역의 구성 요소
메모리에는 여러 가지 영역이 있다. 그 중, 프로그램이 OS로부터 할당 받는 대표적인 메모리 영역은 크게 4가지 가 있다.
메모리의 낮은 주소(low memory)부터 높은 주소(high memory)까지 차례로
코드(Code) 영역, 데이터(Data) 영역, 스택(Stack) 영역, 힙(Heap) 영역이 존재한다.


나. 코드(Code) 영역
코드 영역에는 여러 데이터가 들어간다. 대표적인 것 들을 살펴보자면,
우리가 작성한 소스코드가 코드 영역에 저장이 된다. 물론 컴파일 된 기계어 형태로 저장이 된다. 또한, 상수 도 코드 영역에 저장이 된다.

다. 데이터(Data) 영역
데이터 영역은 프로그램 시작과 함께 메모리에 적재되며, 프로그램 종료 시 메모리에서 해제가 된다. 이러한 특성을 가지고 있는 전역 변수와 정적 변수가 데이터 영역에 저장이 된다. 또한, 구조체도 데이터 영역에 저장이 된다.
참고로, 초기화 되지 않은 데이터는 BSS(Block Stated Symbol) 영역에 저장이 되고, 초기화 된 데이터만 데이터 영역에 저장된다.

라. BSS 영역
앞에서 서술한 대로 BSS(Block Stated Symbol) 영역에는 초기화가 되지 않은 데이터 들이 저장이 된다.
BSS영역에는 실제 변수가 차치할 공간이 할당되지 않아 그 만큼 binary size가 작아진다.

마. 스택(Stack) 영역
스택 영역은 함수 호출과 관계가 있는 각종 변수 가 저장되는 영역이다. 함수가 호출될 때 스택에 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소 값, 해당 함수에서 선언이 된 지역 변수가 저장이 된다. 이렇게 스택 영역에 저장되는 함수의 호출 정보를 스택 프레임이라 한다.

```cpp void f () { //something }

더 읽어보기 »

Unifox C언어 보고서 (상)

작성일 2018-07-18 | In Unifox

저자

  • 선린인터넷고등학교 소프트웨어과, Unifox 10기 나정휘
더 읽어보기 »

[이진트리] 이진트리의 순회

작성일 2018-07-16 | In Easy-Algorithm

지난 글에서는 이진트리의 간단한 구현 방법을 다뤘습니다.
이번 글에서는 이진트리의 전위, 중위, 후위 순회에 대해 알아봅시다.

더 읽어보기 »
1 … 87 88 89 … 95
github chart
JusticeHui

JusticeHui

948 포스트
37 카테고리
133 태그
RSS
알고리즘 과외 소개해 드립니다.
© 2025 JusticeHui
Powered by Jekyll
Theme - NexT.Muse