Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 2108_통계학
- 21278
- Error fetching remote repo 'origin'
- EC2
- 호석이두마리치킨
- 백준
- 투에모스문자열
- Eclipse
- 이클립스
- 이산수학
- 18222
- documentationpluginsbootstrapper
- 소가길을건너간이유6
- jenkins
- 알고리즘
- 14466
- Java
- dockercompose
- 프로그래머스
- 날짜일수
- 별자리 만들기
- CMD
- docker
- 20055
- 자바
- 설정
- SpringBoot
- Error
- 2167. 2차원 배열의 합
- to display the conditions report re-run your application with 'debug' enabled
Archives
- Today
- Total
계단을 오르듯이
[JAVA] 14916. 거스름돈 본문
5원과 2원이 있기 때문에 거스름돈을 최소로 주기 위해 5원을 최대로 사용했다.
2원을 위해 5원을 최대로 사용할 경우 남은 거스름돈이 짝수가 되도록 하였으며,
나머지 거스름돈에서 2원으로 거스름돈을 주지 못할 경우는 2로 나누었을 때 나머지 값이 존재하는 상황이므로 -1을 출력하고, 그렇지 않은 경우는 거스름돈의 최소값을 출력한다.
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
|
package algo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class B_14916_거스름돈 {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
int five = N / 5; // 5원의 개수
while ((N - (five * 5)) % 2 != 0) { // 2원을 위해 나머지를 짝수를 만든다
if (--five <= 0) { // five가 -1이 되면 아래의 연산에 영향을 주므로 0으로
five = 0;
break;
}
}
int two = 0; // 2원의 개수
if ((N - (five * 5)) % 2 == 0) { // 2원으로 나누어 떨어지면 거스름돈 OK
two = (N - (five * 5)) / 2;
System.out.println(five + two);
} else // 그렇지 않으면 -1
System.out.println(-1);
}
}
|
cs |
'알고리즘 > 백준_JAVA' 카테고리의 다른 글
[JAVA] 18222. 투에 모스 문자열 (0) | 2022.02.01 |
---|---|
[JAVA] 프로그래머스 - 카펫 (0) | 2022.01.31 |
[JAVA] 21278. 호석이 두 마리 치킨 (0) | 2022.01.28 |
[JAVA] 14466. 소가 길을 건너간 이유 6 (0) | 2022.01.27 |
[JAVA] 20055. 컨베이어 벨트 위의 로봇 (0) | 2022.01.27 |