코드:
let input = Int(readLine()!)!
var X = 0
var i = 1
while i < 1666{
//최소수
if input % 5 == 0 {
print(input / 5)
break
}
//5, 3 합쳐서 3을 i에 곱해준 이유는 그래야 5로 나눠줘서 봉지 최소 개수가 되기 때문
//3으로만 나눠지면 input -3 * i 가 0이 딱 되면 그게 3의 봉지수
if (input - 3 * i) % 5 == 0 {
X = (input - 3 * i) / 5
print("\(i + X)")
break
}
//3으로도 안나눠지면 나눠지는게 없음
if (input - 3 * i) < 0 {
print(-1)
break
}
i = i + 1
}
설명:
1666만 해주는 이유는 5000나누기 최소수 3나눠줘서 1666, 5로 딱나눠떨어지면 최소봉지 , 그다음이 5, 3 합친 봉지수
i * 3 해서 0보다 아래로 떨어지면 3으로도 안나눠지는거여서 -1 출력합니다
결과:
'코테 > 백준' 카테고리의 다른 글
[백준] 1011 Fly me to the Alpha Centauri 스위프트 (0) | 2022.01.05 |
---|---|
[백준] 10757 큰수 A+B 스위프트 (0) | 2022.01.02 |
[백준] 2775 부녀회장이 될테야 스위프트 (0) | 2021.12.31 |
[백준] 10250 ACM호텔 스위프트 (0) | 2021.12.30 |
[백준] 2869 달팽이는올라가고싶다 스위프트 (0) | 2021.12.30 |
댓글