-
[Java] BOJ 14916 거스름돈개발자 취업/코딩테스트 준비 2023. 6. 1. 16:50반응형
14916번: 거스름돈
첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.
www.acmicpc.net
정답 코드
- 예외 케이스 처리 후 DP활용 풀이
- 최소값을 구하는 문제임을 생각하고 처리하기
import java.io.*; import java.util.*; public class Main { static BufferedReader br; static BufferedWriter bw; static StringTokenizer st; static int N; static int[] arr; public static void main(String[] args) throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N + 1]; Arrays.fill(arr, Integer.MAX_VALUE); if (N == 2) { arr[2] = 1; } else if (N == 4) { arr[4] = 2; } else if (N == 5) { arr[5] = 1; } else if (N > 5) { arr[2] = 1; arr[4] = 2; arr[5] = 1; for (int i = 6; i <= N; i++) { arr[i] = Math.min(arr[i - 2], arr[i - 5]) + 1; } } System.out.println(arr[N] == Integer.MAX_VALUE ? -1 : arr[N]); } }
'개발자 취업 > 코딩테스트 준비' 카테고리의 다른 글
[Java] BOJ 1326 폴짝폴짝 (0) 2023.06.02 [Java] BOJ 21966 중략 (0) 2023.06.01 [Java] BOJ 1927 최소 힙 (0) 2023.05.26 [Java] BOJ 21921 블로그 (0) 2023.05.26 [Java] BOJ 20125 쿠키의 신체 측정 (0) 2023.05.26