-
[BAEK JOON] 2965. 캥거루 세마리 (Python)공부/알고리즘 2024. 5. 20. 17:11
문제링크
제출코드
a,b,c = map(int, input().split()) print(max(b-a-1,c-b-1))
처음에 문제의 말을 이해를 잘 못해서 캥거루가 그럼 왼쪽에서만 움직이는 값을 계산하면 되지않나?
라는 이상한 포인트로 접근해 문제를 잘 못 풀었다.
이 문제의 제일 중요한 핵심은 캥거루가 "최대" 몇 번 움직일 수 있냐는게 포인트다.
0~100이라는 수직선 좌표 위에 캥거루가 3마리 있을 때
바깥쪽이라는 말은 왼쪽, 오른쪽 관계 없이 두 캥거루 중 한마리가 다른 두 캥거루 사이의 정수 좌표로 점프 할 수 있다.
따라서 왼쪽으로 갔을 때 더 많이 움직일지, 오른쪽으로 갔을 때 더 많이 움직이는지 값을 계산해보고
B-A (왼쪽), C-B(오른쪽) 같은 형태로 계산하면 된다.
단 -1을 하는 이유는 문제 조건대로 똑같은 좌표에 캥거루가 두 마리가 있을 수 없기 때문에 -1을 한 값으로
최댓값을 구하면 되는 문제이다.
TMI : 이 문제 덕분에 영어로 캥거루가 캥거루라는것을 오늘 처음알았다. 🙄😅
'공부 > 알고리즘' 카테고리의 다른 글
[BAEK JOON] 2851. 슈퍼 마리오 (Python) (0) 2024.05.08 [BAEK JOON] 2145. 숫자놀이 (Python) (0) 2024.05.06 [BAEK JOON] 1292. 쉽게 푸는 문제 (Python) (1) 2024.04.28 [BAEK JOON] 1251. 단어 나누기 (Python) (0) 2024.04.27 [BAEK JOON] 1094. 막대기 (Python) (0) 2024.04.25