시간 날때마다 알고리즘 문제를 풀어볼까 합니다! 실무에 중요한 그리디 유형부터 진행할 예정입니다!
var amount = Int(readLine()!)!
var bag = 0
while(amount >= 0) {
if amount % 5 == 0 {
bag += amount / 5
print(bag)
break
}
bag += 1
amount -= 3
if 1..<3 ~= amount {
print(-1)
break
}
}
while문을 사용하지 않고서는 도저히 쉽게 해결할 방법이 안떠올라 결국 while문으로 풀게 됬네요.
해설
그냥 최대한 단순하게 5로 나누어 떨어질 때 까지 3을 빼주며 1봉지씩 추가하는 방법입니다. while문 도중 3씩 빼고 있는데 남은 수가 1이나 2가 될 경우 -1을 출력합니다.
반응형
'Algorithm > BackJoon' 카테고리의 다른 글
[Swift] 백준 11047 - 동전 0 (0) | 2022.01.24 |
---|---|
[Swift] 백준 swift로 알고리즘 문제 푸는법 - readline(), Xcode Swift로 커맨드 라인 입력값 받기 (0) | 2022.01.23 |
[Swift] 백준 11399 - ATM (0) | 2022.01.23 |