본문 바로가기
백준

[백준 2839번] 설탕 배달

by 안드뽀개기 2022. 4. 11.
반응형

 

import java.util.*
import java.io.*
fun main(ars: Array<String>){
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val THREE_KG = 3
val FIVE_KG = 5
var n = br.readLine().toInt()
var num = n
var count = 0
while(true) {
if(num % FIVE_KG == 0) {
if(num == 0) {
bw.write(count.toString())
} else {
bw.write((count + num / FIVE_KG).toString())
}
break
} else if (num < 0){
bw.write("-1")
break
}
num -= THREE_KG
count++
}
bw.flush()
bw.close()
br.close()
}
view raw 백준_2839.kt hosted with ❤ by GitHub

문제구분:

그리디 알고리즘

 

 

리뷰 :

처음엔 5kg로 나누고 3kg나눠서 나머지가 0이 아니면 -1 일 것이라고  단순히 생각했지만, 6kg을 배달한다고 했을때의 예외가 존재했다(3kg만으로 나눌 수 있음).
while문에서 5kg로 나눠 0으로 나누어 떨어지지않으면 3kg를 한번씩 빼주면서 루프를 돌려서 문제를 풀었다.

 

반응형

'백준' 카테고리의 다른 글

[백준 11720번] 숫자의 합  (0) 2022.04.11