BOJ

    [BOJ / 백준] 2798번 블랙잭 C++ 문제 풀이

    단계별로 풀어보기 - 브루트 포스 단계 - [1단계] 2798번 문제 문제 링크 : www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는다. 합이 M을 넘지 않는 카드 3장을 찾을 수 있 www.acmicpc.net 입력 복사 : > 예제 입력 1 5 21 5 6 7 8 9 >예제 입력 2 10 500 93 181 245 214 315 36 185 138 216 295 CODE #include using namespace std; int main() { ios::sync_with_stdio(false); c..

    [BOJ / 백준] 11729번 하노이 탑 이동 순서 C++ 문제 풀이

    단계별로 풀어보기 - 재귀 단계 - [4단계] 11729번 문제 문제 링크 : www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 입력 복사 : 3 CODE #include #include using namespace std; void hanoi(int start, int mid, int end, int n) { if (n == 1) { cout

    [BOJ / 백준] 2447번 별 찍기 - 10 C++ 문제 풀이

    단계별로 풀어보기 - 재귀 단계 - [3단계] 2447번 문제 문제 링크 : www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 입력 복사 : 27 CODE #include using namespace std; void star(int i, int j, int n) { if (i / n % 3 == 1 && j / n % 3 == 1) { cout n; for (int i = 0; i < n; i++) { for (int j = 0; ..

    [BOJ / 백준] 10870번 피보나치 수 5 C++ 문제 풀이

    단계별로 풀어보기 - 재귀 단계 - [2단계] 10870번 문제 문제 링크 : www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 입력 복사 : 10 CODE #include using namespace std; int fibo(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibo(n - 1) + fibo(n - 2); } }..

    [BOJ / 백준] 10872번 팩토리얼 C++ 문제 풀이

    단계별로 풀어보기 - 재귀 단계 - [1단계] 10872번 문제 문제 링크 : www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력 복사 : 10 CODE #include using namespace std; int facto(int n) { if (n > n; cout

    [BOJ / 백준] 1002번 터렛 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [10단계] 1002번 문제 문제 링크 : www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 입력 복사 : 3 0 0 13 40 0 37 0 0 3 0 7 4 1 1 1 1 1 5 CODE #include using namespace std; int main() { int T; int x1, y1, r1, x2, y2, r2; int d, cond1, cond2; cin >> T; for (int test = 0; test > x1 >> y..

    [BOJ / 백준] 3053번 택시 기하학 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [9단계] 3053번 문제 문제 링크 : www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 입력 복사 : 1 CODE #include #define PI 3.1415926535897932 using namespace std; int main() { double r; cin >> r; cout

    [BOJ / 백준] 4153번 직각삼각형 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [8단계] 4153번 문제 문제 링크 : www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 입력 복사 : 6 8 10 25 52 60 5 12 13 0 0 0 CODE #include using namespace std; int main() { while (1) { int x, y, z; int temp = 0; cin >> x >> y >> z; if (x == 0 && y == 0 && z == 0) return 0; if (x > y)..

    [BOJ / 백준] 3009번 네 번째 점 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [7단계] 3009번 문제 문제 링크 : www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 입력 복사 : 30 20 10 10 10 20 CODE #include using namespace std; int main() { int x1, y1, x2, y2, x3, y3, rx, ry; cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3; rx = x1; ry = y1; if (rx == x2) rx = x3; else if (rx == x3) rx = x2; if (ry == y2)..

    [BOJ / 백준] 1085번 직사각형에서 탈출 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [6단계] 1085번 문제 문제 링크 : www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다. www.acmicpc.net 입력 복사 : 6 2 10 3 CODE #include using namespace std; int main() { int x, y, w, h; int result; cin >> x >> y >> w >> h; result = x; if (w - x < result) result = w - x; if (y <..