BOJ 2295 - 세 수의 합
2295번: 세 수의 합 (acmicpc.net) 2295번: 세 수의 합 우리가 x번째 수, y번째 수, z번째 수를 더해서 k번째 수를 만들었다라고 하자. 위의 예제에서 2+3+5=10의 경우는 x, y, z, k가 차례로 1, 2, 3, 4가 되며, 최적해의 경우는 2, 3, 4, 5가 된다. k번째 수가 최 www.acmicpc.net 접근 방법 백트래킹, 브루트포스말고는 어떻게 풀어야할지 감이 안잡혔다. 그래서 결국 알고리즘 분류를 봤다... 이 문제에서 어떻게하면 이분탐색으로 풀수있을까 많이 생각해보았다. 무엇을 기준으로 대소비교를 할 것인가? 처음엔 원소의 인덱스를 기준으로 생각해보려고 했지만, 해당 원소의 더한 값을 구하려면 이전 원소들을 모두 3개씩 더해야 한다. 그리고 무엇을 기준으로 ..
2024. 4. 13.
BOJ 16401 - 과자 나눠주기
16401번: 과자 나눠주기 (acmicpc.net) 16401번: 과자 나눠주기 첫째 줄에 조카의 수 M (1 ≤ M ≤ 1,000,000), 과자의 수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 과자 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어진다. 과자의 길이는 (1 ≤ L1, L2, ..., LN ≤ 1, www.acmicpc.net 접근 방법 가장 길게 과자를 N명에게 나눠주는 문제이다. 이때 핵심이 과자를 부러뜨리면 다시 합칠 수 없다는 것이다. 예제 1을 보자. 1 2 3 4 5 6 7 8 9 10에서 3명에게 가장 긴 과자를 주려면 8 , 9 , 10을 선택하여 9와 10을 각각 1, 2 만큼 부러뜨려 8로 맞춰 주면된다. 예제 2번의 경우 한 번더..
2024. 4. 13.