코딩테스트/코드업
[코드업][그리디][파이썬] 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
반응형