반응형
https://curiouskidd.tistory.com/15
main calss 규정
https://www.acmicpc.net/problem/2839
설탕을 3kg, 5kg 단위로 가장 적게 가져갈 수 있는 수량을 계산하는 문제입니다
정확한 배분이 가능할 경우 계산값
을 출력하고, 배분이 불가능 할 경우 -1
을 출력해야 합니다.
int n = 10; // 설탕의 무게
int five = n / 5; // 5kg 설탕 갯수
int three = (n % 5) / 3; // 3kg 설탕 갯수
int other = (n % 5) % 3; // 나머지 유무
if (n == 4 || n == 7) { // 문제 규정상 설탕이 4kg or 7kg 일경우 정확한 배분이 불가능
System.out.println(-1); // 따라서 무조건 -1 출력
} else {
if (other == 1) {
five = five - 1;
three = three + 2;
} else if (other == 2) {
five = five - 2;
three = three + 4;
}
System.out.println(five + three);
}
우선 규정이 3kg, 5kg인 이상 4kg 7kg 은 정확한 배분이 불가능합니다.
그래서 무조건적으로 -1을 출력하게 하였습니다.
남은 값들의 계산식의 경우 5로 나눈 나머지 값에서 또 3으로 나누는 이상 other의 값은 1 or 2밖에 나올 수 없을 것입니다.
if (other == 1) {
five = five - 1;
three = three + 2;
}
나머지가 1인 경우에 5kg 의 갯수를 하나 빼서 3kg 2개로 변경 (6kg)
else if (other == 2) {
five = five - 2;
three = three + 4;
}
나머지가 2인 경우에 5kg 의 갯수를 두개 빼서 3kg 4개로 변경(12kg)
해당 코드로 테스트 진행하였고, 테스트에 성공하였습니다.
반응형
'CodingTest' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 (1) | 2023.05.01 |
---|---|
[프로그래머스] 이진 변환 반복하기 (2) | 2023.04.28 |
[프로그래머스] 최솟값 만들기 (0) | 2023.04.28 |
[백준][11399] ATM (1) | 2022.10.05 |
[백준] 코드 제출 필수 내용 (0) | 2022.09.29 |