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
반응형
'코딩테스트 > 코드업' 카테고리의 다른 글
[코드업][그리디][파이썬] 2001. 최소대금 (0) | 2022.07.13 |
---|---|
[코드업][기초 100제][파이썬] 6098. 성실한 개미 (0) | 2022.07.13 |
[코드업][기초 100제][파이썬] 6096. 바둑알 십자 뒤집기 (0) | 2022.07.13 |
[코드업][기초 100제][파이썬]6095. 바둑판에 흰 돌 놓기 (0) | 2022.07.12 |
[코드업][기초 100제][파이썬] 비트단위 논리연산와 3항 연산자 (0) | 2022.07.12 |