[문제]
https://www.acmicpc.net/problem/14916
[풀이]
n이 5의 배수이면 5로 나눈 몫을 반환하고 그렇지 않으면 2를 빼준다. 다시 5의 배수인지 확인하고 그렇지 않으면 2를 뺴준다.
5의 배수인지 확인하고 맞으면 우선적으로 5로 나눠주는 작업을 하기 때문에 그리디알고리즘으로 푼다고 볼 수 있다.
시간복잡도 : O(N)
[코드]
private var n = 0
private var result = 0
fun main() {
val br = System.`in`.bufferedReader()
n = br.readLine().toInt()
while(n > 0 ){
if(n%5 == 0){
result += n /5
break
}
else {
n -= 2
result += 1
}
}
println(if(n>=0) result else -1)
}
'Algorithm and PS > 백준(Kotlin)' 카테고리의 다른 글
백준 - 11123 양 한마리... 양 두마리... (코틀린) (0) | 2022.04.05 |
---|---|
백준 - 2961 도영이가 만든 맛있는 음식 (코틀린) (0) | 2022.04.05 |
백준 - 20291 파일 정리 (코틀린) (0) | 2022.03.30 |
백준 - 2636 치즈 (코틀린) (0) | 2022.03.29 |
백준 - 2606 바이러스 (코틀린) (0) | 2022.03.29 |
댓글