반응형
입력
최대한 적은 봉지를 들고 가려고 한다.
18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만,
5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.
설탕을 정확하게 N킬로그램 배달해야 할 때,
봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.
출력
상근이가 배달하는 봉지의 최소 개수를 출력한다.
만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다.
풀이
5로 나눈 몫을 하나씩 빼가며 3으로 나누어 떨어지는 수를 구한다.
이후 3으로 나눈 몫과 비교하여 더 적은 봉지를 출력한다.
Swift 전체 코드
let input = Int(readLine()!)!
var min = -1
var five = input / 5
while five >= 0 {
let i = input - five * 5
if i % 3 == 0 {
min = five + i / 3
break
}
five -= 1
}
if input / 3 < min {
min = input / 3
}
print(min)
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 정렬 - 가장 큰 수 (0) | 2021.03.31 |
---|---|
[백준] 기본 수학 2 - 1978번 소수 찾기 (0) | 2021.03.31 |
[백준] 기본 수학 - 2775번 부녀회장이 될테야 (0) | 2021.03.30 |
[백준] 기본 수학 - 2869번 달팽이는 올라가고 싶다 (0) | 2021.03.30 |
[백준] 기본수학 - 2292번 벌집 (0) | 2021.03.30 |