본문 바로가기

문제 풀이/백준(BOJ)201

[C] 백준 2798번 : 블랙잭 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 접근 1. 시행횟수가 최대 100회 밖에 안되기 때문에 각 경우를 모두 따질 수 있다. 2. 받은 카드의 숫자를 배열에 모두 넣어 경우를 따질 준비를 한다. 3. 배열 idx 0부터 n-1까지 처음 숫자부터 다다음까지 더한 값을 하나하나 따진다. 4. m보다 작거나 같고 현재 최댓값보다 큰 값을 출력한다. 느낀점 생각보다 어렵지 않은 문제였다. 분명히 맞았는데 출력이 안되서.. 2021. 4. 3.
[C] 백준 2447번 : 별 찍기 - 10 www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 문제 접근 1. 3의 7제곱인 2187 크기의 배열을 초기화 한다. 2. 구멍이 뚫리는 위치는 입력값 n(3의 제곱수)에 대해서 n/3부터 n/3개 (ex. n이 9이면 출력은 9x9 크기에서 3부터 3개 즉, 3x3 위치부터 5x5 위치까지 뚫림) 3. 입력값 n의 n/3이 1이 아니면 다시 별을 찍는 함수를 불러온다. 느낀점 처음에 접근이 어려워서 다른 분들의 코드를 살펴보았다. .. 2021. 3. 27.
[C] 백준 10870번 : 피보나치 수 5 www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 접근 1. 숫자 입력받고 함수 출력 느낀점 기본이라서 느낄 것이랄 것도 없다. 코드 #include int fibo(int n) { if (n == 0) return 0; if (n == 1) return 1; return fibo(n - 1) + fibo(n - 2); } int main() { int n; scanf("%d", &n); printf("%d", fi.. 2021. 3. 24.
[C] 백준 10872번 : 팩토리얼 www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 접근 1. 반복 횟수를 받고 팩토리얼 실행 느낀점 사실 너무 기본이라서 느낄 것도 없었다! 오늘은 1일 2코딩 코드 #include int factorial(int n) { if (n == 0) return 1; return n * factorial(n - 1); } int main() { int n; scanf("%d", &n); printf("%d", factorial(n)); return 0; } 2021. 3. 24.
[C] 백준 1002번 : 터렛 www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 접근 1. 반복 횟수와 x1,x2,y1,y2,r1,r2를 받는다. 2. 교차 점이 두개인 경우 중심 사이 거리가 두 반지름의 합보다 작고 중심 사이 거리가 두 반지름의 차보다 크다. 3. 한개인 경우 중심 사이의 거리와 두 반지름의 합이 같거나(외접) 중심 사이의 거리와 두 반지름의 차와 같다(내접). 4. 중심점이 같고 반지름이 같으면 무수히 많고, 중심점이 같은데 반지름이 다르면 아예 없다. 느낀점 되게 쉽네 하면서 풀었지만 내접의 경우를 생각하지 못하고.. 2021. 3. 23.
[C] 백준 3053번 : 택시 기하학 www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 문제 접근 1. 반지름을 받고 출력 느낀점 문제 자체는 어렵지 않지만 택시 기하학에서의 원의 개념을 몰라서 잠깐 멍 때리고 문제만 계속 봤다. 덕분에 택시 기하학에서 조금 더 공부하게 된 계기가 되었다. 또한, 타입 변환에 대해서 신경쓸 수 있게한 문제였다. 코드 #include #define PI 3.14159265359 int main() { int n; scanf("%d", &n); printf("%.6f\n%.6f", (dou.. 2021. 3. 22.