어두운 굴다리
17266번: 어두운 굴다리
인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙
www.acmicpc.net
내 코드
# N 굴다리의 길이
# M 가로등의 수
# x 가로등 설치 위치
import math
from sys import stdin
N = int(stdin.readline())
lamp = [0 for i in range(N+1)]
M = int(stdin.readline())
xList = list(map(int, stdin.readline().split()))
for x in xList:
lamp[x] = 1
# print(lamp)
maxLen = 0
if M == 1:
maxLen = max(xList[0], N-xList[0])
else:
for idx in range(len(xList)):
leftIdx = -1
# 왼쪽 가로등 길이 계산
if idx == 0:
# idx == 0 이면 xList[idx] 위치 전에는 가로등이 없음
# 오른쪽 위치 - 왼쪽 위치
leftIdx = 0
maxLen = max(maxLen, xList[idx] - leftIdx)
else:
# idx != 0 이면 xList[idx-1] 존재
leftIdx = xList[idx-1]
# (오른쪽 - 왼쪽) / 2
maxLen = max(maxLen, math.ceil((xList[idx] - leftIdx)/2))
# 오른쪽 가로등 길이 계산
if idx + 1 < len(xList):
# 뒤로 가로등 있는 경우
rightIdx = xList[idx+1]
maxLen = max(maxLen, math.ceil((rightIdx - xList[idx])/2))
else:
# 뒤로 가로등 없는 경우
rightIdx = len(lamp) -1
maxLen = max(maxLen, rightIdx - xList[idx])
print(maxLen)
728x90
'Algorithm&CodingTest > Baekjoon' 카테고리의 다른 글
[Baekjoon] [13305] 실버3 - 주유소 Python (1) | 2024.01.29 |
---|---|
[Baekjoon] [2164] 실버4 - 카드2 Python (0) | 2024.01.29 |
[Baekjoon] [9017] 실버3 - 크로스 컨트리 Python (0) | 2024.01.24 |
[Baekjoon] [1244] 실버4 - 스위치 켜고 끄기 Python (1) | 2024.01.24 |
[Baekjoon] [10431] 실버4 - 줄세우기 Python (0) | 2024.01.23 |