(백준/C++) 2447번_별 찍기 - 10
2447번: 별 찍기 - 10 (acmicpc.net) 문제는 분할 정복(divide and conquer)과 재귀(recursion)에 대한 문제입니다. 분할 정복이란, 큰 문제를 작은 문제로 나누고 그 결과를 조합해 원래 문제를 해결하는 방법입니다. 이 문제는 분할 정복 문제이므로 재귀적인 접근법과 함께 생각해야 합니다. 1. 기저 사례 설정...
2447번: 별 찍기 - 10 (acmicpc.net) 문제는 분할 정복(divide and conquer)과 재귀(recursion)에 대한 문제입니다. 분할 정복이란, 큰 문제를 작은 문제로 나누고 그 결과를 조합해 원래 문제를 해결하는 방법입니다. 이 문제는 분할 정복 문제이므로 재귀적인 접근법과 함께 생각해야 합니다. 1. 기저 사례 설정...
이스케이프 문자(escape character) 혹은 이스케이프 시퀀스(escape sequence)란, 특정 문자를 표현 또는 출력 제어를 하기 위한 특수한 문자입니다. 예를 들어, printf() 로 다음과 같은 문장을 출력하려고 합니다. NPC_01 “Hello World!” 이 경우, 문자열을 표현하는 큰따옴표와 문자열 내부의 큰따옴표가 ...
4779번: 칸토어 집합 (acmicpc.net) 문제는 분할 정복(divide and conquer)과 재귀(recursion)에 대한 문제입니다. 분할 정복이란, 큰 문제를 작은 문제로 나누고 그 결과를 조합해 원래 문제를 해결하는 방법입니다. 칸토어 집합 이해하기 우선 칸토어 집합이란 간단히 말해서 길이가 1인 선분에서 1/3부터 2/3까지...
1021번: 회전하는 큐 (acmicpc.net) 문제는 양방향 큐인 덱(Deque)을 이해하고 나서, 덱(Deque)으로 원하는 요소를 빼낼 수 있는 최소한의 횟수를 찾아내면 되는 문제입니다. 좀 더 설명하자면, 원하는 요소를 찾을 때까지 요소들을 이동시키고, 원하는 요소를 찾으면 해당 요소를 빼내는데, 최소한의 횟수만으로 빼내야 하는 문제입니다....
매크로란? C언어와 C++에서 매크로란 #define 전처리 구문(선행처리 지시문)으로 전처리기가 컴파일 전에 정해진 구문을 정해진 문장으로 치환해주는 기능을 말합니다. (여기서 ‘정해진 구문’이란 매크로의 이름을, ‘정해진 문장’이란 그 이름에 대응하는 코드를 의미합니다.) 말이 조금 어려우니, 간단히 설명하자면, 자주 사용되는 값을 편하게 쓸...
컴파일러와 인터프리터는 모두 고급 언어로 작성된 코드를 컴퓨터가 이해할 수 있는 저급 언어(어셈블리어, 기계어)로 변환하는 역할을 합니다. 이때, 각각의 컴퓨터는 컴퓨터의 구조에 따라 사용하는 기계어가 달라지며, 기계어에 대응되어 만들어지는 어셈블리어도 각각 다르게 변환됩니다. 컴퓨터의 CPU마다 지원하는 오퍼레이션의 타입과 개수는 제각각이며, 레...
5430번: AC (acmicpc.net) 문제는 양방향 큐인 덱(Deque)을 이해하기 매우 좋은 문제라고 생각합니다. 그렇게 생각하는 이유중 하나는 이 문제에서 “함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다.” 라는 부분 때문입니다. 임의 접근 가능한 컨테이너를 잘 쓰거나 양방향 컨테이너를...
C#이나 JAVA와 같은 언어들은 JIT(Just-In-Time) 컴파일을 사용합니다. .NET에서의 C#은 전통적인 컴파일 언어와 인터프리터 언어의 특성을 혼합한 하이브리드 언어로 이해할 수 있습니다. 컴파일 언어적 특성 IL 컴파일: C# 코드는 먼저 C# 컴파일러에 의해 중간 언어(Intermediate Languag...
1966번: 프린터 큐 (acmicpc.net) 문제는큐의 속성을 이해하는 것과 동시에우선순위에 따라 출력하는 것이 핵심인 문제입니다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치한다. 그렇지 않...
C++의 변수 앞에는 자료형(데이터 타입)을 지정할 수 있습니다. 자료형 타입은 다양한 크기와 다양한 표현(정수, 실수, 문자)이 존재하며, 사용하고자 하는 목적에 맞게 지정할 수 있습니다. C++의 운영체제(16, 32, 64비트)별 자료형들의 크기가 어떻게 되는지 한 번 알아보겠습니다. 플랫폼별 자료형 크기 Windows와 Unix, L...