728x90
2021.12.16
CodeUp 3120 리모컨
# CodeUp 3120 리모컨
a,b = map(int, input().split())
B = abs(a-b) # 두 온도차의 절대값
R = 0 # 반복 횟수
while B != 0:
if B >= 10:
B = B - 10
R += 1
else:
if B > 7:
B += 1
R += 1
elif B > 4:
B = B - 5
R += 1
elif B > 2:
B += 1
R += 1
else:
B = B -1
R += 1
print(R)
처음에 짠 코드로 a-b의 절댓값을 0으로 만들어주면 된다는 아이디어로 짰다.
근데 8,9일 때는 10을 빼주고 +1 하는 게 더 최솟값이고 5,6,7일 때는 -5를 빼주는 게 최솟값이라
세세히 조건을 줬다.
# CodeUp 3120 리모컨
a,b = map(int, input().split())
B = abs(a-b) # 두 온도차의 절대값
R = B//10 # 반복 횟수
if B%10 in [1,5]:
R += 1
elif B%10 in [2,4,6,9]:
R += 2
elif B%10 in [3,7,8]:
R += 3
print(R)
10 미만일 때 각각 0이되는 최솟값을 구하니 1,5는 1; 2,4,6,9는 2; 3,7,8은 3이 나오길래 간단히 짜 봤다.
근데 시간은 첫 번째 코드가 조금 더 빠르다.
728x90
'Algorithm' 카테고리의 다른 글
브루트포스(Brute Force) 알고리즘 (0) | 2021.12.20 |
---|---|
백준 2798 파이썬 (0) | 2021.12.17 |
백준 13305 파이썬 (0) | 2021.12.13 |
백준 1541 파이썬 (0) | 2021.12.10 |
그리디 알고리즘(탐욕법) (0) | 2021.12.08 |