썸네일 while_10951 문제 출처: https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 간단한 문제지만, EOF의 개념을 모를 경우 틀리는 문제이기 때문에 백준 풀이모음에 작성하게 되었다. EOF란 파일의 끝을 의미하며, EOF를 만나면 특정 값을 리턴하도록 되어있다. 즉, 테스트 케이스가 없는 10951번 문제같은 경우에 파일의 끝에 도달했을 경우에 매크로로 정해져있는 값이 리턴되며 루프를 빠져나오게 되는 것이다. #include using namespace std; int main() { //10951번 int A, B; while (cin >> A >> B) { cout A..
썸네일 _1002 문제 출처: https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 케이스는 총 5가지로, 그 중 3개를 그리면 아래와 같다. [1]번 터렛의 류재명까지의 거리는 ro이고, 문제에서 주어진 r1과 같다. 이 범위를 그리면 원이 나온다. 원을 사용하는 이유는, 저 원이 [1]번 터렛의 정보로만 알 수 있는 류재명이 있을 경우의 수를 모아둔 집합이기 때문이다. 같은 논리로 [2]번 터렛에서의 거리는 rt이고, 문제에서 주어진 r2와 같다. 두 집합을 교집합 시키면 3가지 경우가 나오는데, 수학 관련 과목에서..
썸네일 _10871 문제 출처: https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 매우 간단한 기초 문제다. 루프(loop)를 돌려 N개 만큼 입력받으면서, 동시에 X보다 작은 수면 출력시켜주면 된다. 따로 배열을 선언할 필요가 없다. (입력과 출력 스트림을 각기 검사하므로) #include using namespace std; int main() { int N, X, V; cin >> N >> X; for (int i = 0; i < N; i++)..
썸네일 recursive_11729 문제 출처: https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net void hanoi(int N, int from, int by, int to){ if(N==1){ printf("%d %d", from, to); } else { hanoi(N-1, from, by, to); printf("%d %d", from, to); hanoi(N-1, to, from, by); } } C++로 구현한 하노이 탑 알고리즘이다. 간단히 말로 설명하면 ..