[백트래킹] 눈덩이 굴리기, 근손실, 1,2,3 더하기 2
21735 눈덩이 굴리기 21735번: 눈덩이 굴리기 눈송이들이 많은 동네인 숙명여대 앞마당에서 눈사람 만들기 대회를 연다. 앞마당의 길이는 $N$이고 위치 $1$부터 위치 $N$ 까지만 눈이 쌓여있다. 위치 $i$에 눈이 $a_i$만큼 쌓여있다. 대회 규칙은 www.acmicpc.net //size=눈덩이크기, pos=이동거리, time=소요시간 function back(size, pos, time){ if(pos == N or time==M) { answer = max(answer, size) } } if(i == 1) back(size+a[pos+i], pos+i, time+1) if(i==2) back(size/2+a[pos+i],pos+i, time+1) } 끝까지 도달하거나, 시간이 다 될 때..
[Greedy] 백준 2141 우체국
2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 해당 문제는 1시간 정도 고민하고 코드를 짜면서 도전했는데 이중for문을 써서 계속 시간 초과가 떴다. 이후에 이중for문을 사용하지 않는 다른 방법도 시도해 보았지만 점점 산으로 가는 것 같아서 결국 다른 분 코드를 참고했다. 풀이를 보자마자 아! 했다. 그리디 문제는 아이디어를 떠올리는 것이 가장 어려운 것 같다. 그리디로 풀 때는 구하고자 하는 것에 집중하면서 푸는 연습을 해..