BAEKJOON (Python)/Greedy Algorithm

BAEKJOON_1449 "수리공 항승" PYTHON

RiLLa_0511 2023. 4. 14. 20:01
728x90

[백준] 1449번 Python 파이썬

 

https://www.acmicpc.net/problem/1449

 

1449번: 수리공 항승

첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나

www.acmicpc.net

처음에 오름차순 정렬을 해주지 않아서 틀렸다.

 

예제 입력 3을 보고 오름차순 정렬을 해주었더니 정답 처리가 되었다!

n, l = map(int, input().split())

location = list(map(int, input().split()))
location.sort() # 입력 받은 위치들을 오름차순 정렬 해준다.

pl = location[0] - 0.5 # 시작 위치를 지정해준다.
count = 1

for i in range(1, len(location)):
    if location[i] < pl + l: # 시작 위치에서 L의 길이를 더한 것이 그 다음 수보다 크다면 넘어간다.
        continue
    else: # 작을 경우 시작 위치를 갱신해주고 테이프 개수를 늘려준다.
        pl = location[i] - 0.5 
        count += 1 

print(count)

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.