코딩테스트/코드업

[코드업][그리디][파이썬] 3120. 리모컨

내만 2022. 7. 13. 18:40
728x90
반응형

 

 

 

 

 

 

🙆‍♂️문제


 

 

🙋‍♂️풀이


그리디 알고리즘을 사용하기 좋은 문제입니다. 온도를 변경하기 위한 최소 횟수를 구하는 것입니다.

#입력 받기
a,b=map(int, input().split())
cnt = 0

#경우의 수 분류
arr1=[1,5]
arr2=[2,4,6,9]
arr3=[3,7,8]

minus=abs(b-a)
div = minus//10
mdl = minus%10

cnt += div

if mdl in arr1:
    cnt+=1
elif mdl in arr2:
    cnt+=2
elif mdl in arr3:
    cnt+=3
print(cnt)

 

먼저는 생각할 수 있는 것이 움직여야 하는 온도를 10을 나눴을 때 몫으로 10도 위아래 움직이는 것을 생각할 수 있습니다.

그것이 div에 저장되고

 

이제 5도 움직이는 것과 1도 움직이는 것을 생각해야 하는데

움직여야 하는 온도를 10으로 나눈 값의 나머지가 1과 5인 경우는 1번을 추가로 더 누르는 경우

2,4,6,9는 2번을 추가로 누른경우고

3,7,8은 3번을 추가로 누른 경우입니다. 이렇게 나눠서 if문을 통해 분류하여 풀었습니다.

 

 

728x90
반응형