반응형
Greedy..
가장 큰값부터 차근차근 계산해나가면 된다.
풀이
1. 제일 큰 값 (동전) 으로 부터 입력 받은 값과 비교하여 입력받은 값이 크면 나눈다.
나눈 값은 동전의 개수가 되며 나머지는 그 다음 다른 돈으로 바꿀 돈이 된다.
2. 돈이 0이 될때까지 반복한다.
소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.io.FileInputStream; import java.util.*; import java.util.stream.*; class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(new FileInputStream("input.txt")); // Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int count =0; int[] arr= new int[N]; for(int i=0; i<N; i++){ arr[i] = sc.nextInt(); } for(int i = N-1; i>=0; i--){ if(M>=arr[i]){ count += M/arr[i]; M = M%arr[i]; } } System.out.println(count); } } | cs |
반응형
'나는요 공부가 좋....은걸... > 알고리즈음' 카테고리의 다른 글
[BOJ] 백준 14503 - 로봇청소기 (자바) (0) | 2018.02.20 |
---|---|
[BOJ] 백준 5555 - 반지 (자바) (0) | 2018.02.15 |
[BOJ] 백준 1152 - 단어의 개수 (자바) (1) | 2018.02.13 |
[BOJ] 백준 14502 - 연구소 (자바) (0) | 2018.02.13 |
[BOJ] 백준 2143 - 다리 만들기 (자바) (0) | 2018.02.12 |