본문 바로가기
Algorithm/Greedy

[백준] 2839번 설탕 배달

by 등촌동 꼬북이 2020. 9. 29.

아무 정보 없이 첨에 재귀로 풀려고 했다가

 

88퍼에서 자꾸 틀렸다고 뜨길래..

 

그리디 첫 입문이기도 해서 

 

슬쩍 남의 코드를 좀 봤다

 

전에 쓰던 코드랑 비교하면 흐음...

 

로직 자체는 크게 다르지 않은거 같은데...

 

88퍼에서 틀리는거 보면... 약간의 돌연변이에.. 대응을 못하는것 같다... 그게 뭔진 모르겟지만..

 

이 코드가 훨씬 깔끔

 

성능도 좋구 재귀를 안쓰니까

 

그리고 첨에 재귀로 돌리니까 자꾸 런타임 에러가 뜨길래

 

생각해보니까 예전에 dfs 잠깐 맛보기 할때 

 

리미트를 해제 했던게 생각나서 리미트 해제 하고 풀었다

def greedy(N):
    counter = 0
    while N > 0:
        if N % 5 == 0:
            N = N - 5
            counter += 1
        elif N % 3 == 0:
            N = N - 3
            counter += 1
        elif N - 5 > 0:
            N = N - 5
            counter += 1
        else:
            counter = -1
            break
    return counter

print(greedy(int(input())))

'Algorithm > Greedy' 카테고리의 다른 글

[프로그래머스] 체육복  (0) 2020.10.09
[백준] 11047번 동전 0  (0) 2020.10.07
[백준] 14720번 우유 축제  (0) 2020.10.06
[백준] 10162번 전자레인지  (0) 2020.10.06
[백준] 5585번 거스름돈  (0) 2020.10.06

댓글