코딩 테스트/백준
[Python] 백준 17266 어두운 굴다리
위시리
2025. 2. 11. 14:00



문제 분석
- 굴다리의 모든 길 N
- 가로등 설치 개수 m, 각 가로등 위치 x
- 각 가로등은 높이만큼 주위를 비칠 수 있다.
- 최소한의 높이로 굴다리 모든 길을 밝히려고 한다.
- 최소한의 가로등 높이를 구하라.
- 단, 가로등의 높이는 모두 같고 정수이다.
코드 설계
- 최소 높이
- 맨 앞의 가로등과 시작 지점과의 차이
- 가로등과 가로등 사이의 거리 중 최장 거리 // 2
- 맨 끝의 가로등과 끝 지점의 차이
- 중 가장 긴 거리 출력
정답 코드
import sys
input = sys.stdin.readline
n = int(input()) # 시작 위치 0, 끝 위치 n-1
m = int(input())
x = list(map(int, input().split()))
# 가로등 사이 거리 중 최장거리 찾기
longest = 0
for i in range(len(x)-1) :
longest = max(longest, (x[i+1]-x[i]))
ans = max(x[0], (longest+1)//2, n-x[-1])
print(ans)