차곡차곡 성 쌓기
article thumbnail
[S2] A->B : 16953 : 그리디
알고리즘/백준 2023. 10. 9. 23:40

문제 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 접근 문제를 딱 읽었을 때 대체 어떻게 풀어야 하지..? 감이 안 잡히는 문제였다. 처음 수에서 마지막 수로 가는 규칙을 발견할 수 없었다. 그렇게 여러 고민을 해보다 마지막 수를 기준으로 돌아 가볼까! 생각했더니 쉽게 풀렸다. 알고리즘 B가 짝수라는 것은 직전 단계에서 X2 연산을 했다는 것이므로 나누기 2를 해준다. B가 홀수라는 것은 직전 단계에서 마지막 자리에 1을 더했다는 것이므로 1를 빼고 10으로 나눈다. 이 과정을 B가 A보다 클 때까지 반복한다. A, B를 입력 받는다. while( B가 A보다 클 때까지) if(B가 짝수) B를 2로 나눈다 else (B가 홀..

article thumbnail
[S5] 거스름돈 : Java : 14916 - 그리디
알고리즘/백준 2023. 10. 7. 19:31

문제 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 풀이 생각 n을 5와 2로만 채울 때 가장 최소 동전의 개수를 구해야 하므로, 5를 기준으로 5 동전의 크기를 줄여나가면서 구한다. 코드 1. input() n을 입력 받는다. public void getInput() throws Exception { n = Integer.parseInt(br.readLine()); } 2. solution() 예를 들어 18일 때 18 ÷ 5 = 3이므로 최대 5 동전의 개수는 3이다. 그 후 18 - (5 X 3) = 3(나머지수)을 2 동전으로 채울 수 있는지 확인한다. 만약 나머지 수를 2로 채울 수 있다면 결과에 3 ÷ 2 = 1 의 ..

728x90