캥거루 세마리2 - 백준 11034번
문제
캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다.
한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다.
캥거루는 최대 몇 번 움직일 수 있을까?
입력
여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)
출력
각 테스트에 대해 캥거루가 최대 몇 번 움직일 수 있는지 출력한다.
풀이
- 그리디 알고리즘??
코드
import sys
def threeKangaroo(a, b, c):
a, b, c = sorted([a, b, c]) # 정렬
left, right = b - a, c - b # 왼쪽과 오른쪽의 차
return left - 1 if left > right else right - 1 # 최종 이동 횟수
'''여러 줄 입력받기'''
inputs = []
for readline in sys.stdin.readlines():
inputs.append(map(int, readline.split()))
for a, b, c in inputs:
print(threeKangaroo(a, b, c))
'Data Structure&Algorithm > Greedy' 카테고리의 다른 글
전자레인지 - [백준 10162번] (0) | 2021.07.14 |
---|---|
세탁소 사장 동혁 - [백준 2720번] (0) | 2021.07.14 |
신입사원 - [백준 1946번] (0) | 2021.07.14 |
도서관 - [백준 1461번] (0) | 2021.07.14 |
강의실 - [백준 1374번] (0) | 2021.07.14 |