Baekjoon/단계별로 풀어보기

    [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 <..

    [BOJ / 백준] 9020번 골드바흐의 추측 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [5단계] 9020번 문제 문제 링크 : www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 입력 복사 : 3 8 10 16 CODE #include #include using namespace std; bool isPrime(int i) { int rt; rt = sqrt(i); if (rt == 1 && i != 1) {//2,3인 경우 return true; } if (i % 2) {//홀수일 경우 ..

    [BOJ / 백준] 4948번 베르트랑 공준 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [4단계] 4948번 문제 문제 링크 : www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 입력 복사 : 1 10 13 100 1000 10000 100000 0 CODE #include #include using namespace std; int main() { int n, rt, cnt = 0; while (1) { cin >> n; if (!n)//0 입력시 종료 break; for (int i = n + 1; i

    [BOJ / 백준] 1929번 소수 구하기 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [3단계] 1929번 문제 문제 링크 : www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 입력 복사 : 3 16 CODE #include #include using namespace std; int main() { int M, N; int rt; cin >> M >> N; for (int i = M; i

    [BOJ/백준] 2581번 소수 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [2단계] 2581번 문제 문제 링크 : www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 입력 복사 : > 예제 입력 1 60 100 >예제 입력 2 64 65 풀이 소수를 판별하는 방식은 이전 단계인 1978번에서와 동일하당. 일단 소수일 때는 소수의 합을 저장하는 sum에 해당 변수를 더해준다. 또, 소수를 구할 때 M부터 작은 순서대로 소수 여부를 검사하기 때문에 min값이 저장된 값이 없음을 나타내는 초기값 -1인 경우에 처..

    [BOJ/백준] 1978번 소수 찾기 C++ 문제 풀이

    단계별로 풀어보기 - 수학 2단계 - [1단계] 1978번 문제 문제 링크 : www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 입력 복사 : 4 1 3 5 7 풀이 소수는 1과 자기 자신으로만 나누어지는 1보다 큰 정수들을 말한다. ex) 2, 3, 5, 7, 11... 따라서 입력 받은 각 변수를 나누어떨어지게 할 수 있는 수가 2개(1과 자기 자신)일 때, 해당 변수를 소수라고 판단한다. CODE #include using namespace std; int main() { int N, result = 0; int temp,..