코드업 3120: 리모컨(그리디) with Python

코드업 3120: 리모컨 문제

문제 바로가기

https://swblossom.tistory.com/59 를 참고하였습니다.

문제 풀이

1, 5, 10 단위로 작동하는 리모컨 기능
절댓값을 구하여 간단하게 생각

  • 입력의 최대는 40.
  • 계산해야 하는 값은 최대 십의 자리.
  • a-b의 절댓값에서 10으로 나눈 몫이 십의 자리를 맞추기 위한 +10 버튼 작동 횟수.

다음은 일의 자리를 맞춰줍시다.
현재 0이라는 값을 가진다면

1이 되기 위해서는 +1(1회)
2가 되기 위해서는 +1, +1(2회)
3이 되기 위해서는 +1, +1, +1 또는 +5, -1, -1(3회)
4가 되기 위해서는 +5, -1(2회)
5가 되기 위해서는 +5(1회)
6이 되기 위해서는 +5, +1(2회)
7이 되기 위해서는 +5, +1, +1(3회)
8이 되기 위해서는 +10, -1, -1(3회)
9가 되기 위해서는 +10, -1(2회)

풀리지 않아 다른 사람의 코드를 서치해 봤는데 정말 깔끔하다. 문제를 잘 파악해 간결하게 짜자!

a,b=map(int, input().split())

result=0

result+=abs(a-b)//10
c=abs(a-b)%10

if(c==1 or c==5): result+=1
elif(c==2 or c==4 or c==6 or c==9): result+=2
elif(c==3 or c==7 or c==8): result+=3

print(result)

좋은 웹페이지 즐겨찾기