-코드
n = int(input())
m = int(input())
x = list(map(int, input().split()))
if m == 1:
print(n)
else:
height = x[0]
for i in range(m):
if i == m - 1:
height2 = n - x[i]
else:
light_range = x[i + 1] - x[i]
if light_range % 2:
height2 = light_range // 2 + 1
else:
height2 = light_range // 2
height = max(height, height2)
print(height)
처음에 for문을 이용하여 높이에 따른 불빛이 비추는 범위를 더해주는 방법으로 하였으나 특정 수에서 틀린 값이 나와서 빼주는 방법이나 if문을 더 넣는 등을 해보았지만 실패를 하였습니다.
그래서 찾아보니 문제도 잘못 이해한 부분도 있었고 접근 방법은 어느 정도 맞아서 높이에 따라 빛의 범위를 더하거나 빼서 계산을 하는 것이 아닌 해당 좌표를 이용하여 하는 방법이라는 것을 알게 되어서 많이 아쉬운 문제였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]7785번 회사에 있는 사람 (0) | 2021.10.25 |
---|---|
[백준/파이썬]14004번 ICPC (0) | 2021.10.25 |
[백준/파이썬]9471번 피사노 주기 (0) | 2021.10.23 |
[백준/파이썬]2061번 좋은 암호 (0) | 2021.10.22 |
[백준/파이썬]15666번 N과 M (12) (0) | 2021.10.22 |