본문 바로가기

분류 전체보기79

백준 17103번[c언어] : 골드바흐 파티션 https://www.acmicpc.net/problem/17103 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. www.acmicpc.net 2022.03.21 - [백준] - 백준 9020번 [c언어] : 골드바흐의 추측 백준 9020번 [c언어] : 골드바흐의 추측 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 dongkyung.tistory.c.. 2022. 5. 1.
백준 1850번[c/c++] : 최대공약수 https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 풀이 풀이에 앞서 프로그래밍에서 최대공약수를 구하는 함수를 알아보자(gcd 알고리즘) int gcd(long a, long b) { if (b == 0) return a; else return gcd(b, a % b); } 예시로 gcd(8,24)를 생각해보자. b가 0이 아니기 때문에 재귀함수 gcd(24,8)이 호출된다. gcd(24,8)도 b가 0이 아니기 때문에 재귀함.. 2022. 4. 30.
백준 2872번[c/c++] : 우리집엔 도서관이 있어 https://www.acmicpc.net/problem/2872 2872번: 우리집엔 도서관이 있어 상근이는 컴퓨터 공학의 일인자가 되기 위해 책을 매우 많이 구매했다. 하지만, 집에 책장이 없어서 책을 탑처럼 쌓아놓고 있다. 오늘은 오랜만에 상근이가 집에서 휴식을 취하는 날이다. 상근 www.acmicpc.net 풀이 첫째 줄에 책의 개수 N을 입력한다. 예시를 보면 제일 큰 숫자 4는 -> 3과 4로 정렬이 되어있다. 즉 2를 위로 옮기고 1을 옮기면 된다 (총 두번) 3, 2 ,4, 5, 1을 생각해보자. 3과 4와 5는 이미 3,4,5 순으로 정렬이 되어 있다. 그러므로 2를 맨 위로 옮기고 그 다음 1을 맨 위로 옮기면 된다. 총 두번을 옮기면 된다. 여기서 공식을 알 수 있다. 이미 정렬되어.. 2022. 4. 29.
백준 15903번[c++] : 카드 합체 놀이 https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 풀이 첫 번째 줄에 카드의 수, 합체의 수를 입력받는다 두 번째 줄에 카드의 값을 나타내는 값들을 입력받는다. 값들을 vector에 넣는다. 최솟값을 구해야하기 때문에 가장 작은 것 두개를 더하면 된다. sort함수를 통해 정렬을 하면 배열의 0번과 1번에 가장 작은 두 값이 오게 된다. 두 값을 더한뒤 0번 배열과 1번 배열에 더한값을 덮어 씌운다. 배열의 .. 2022. 4. 28.