[백준] 1449번 수리공 항승

거북이·2023년 1월 20일
0

백준[실버3]

목록 보기
35/92
post-thumbnail

💡문제접근

  • 문제를 잘못 이해해서 조금 시간이 걸렸던 문제였다.
    "파이프에서 물이 새는 곳은 신기하게도 가장 왼쪽에서 정수만큼 떨어진 거리만 물이 샌다."

입력

4 3
1 2 3 4

출력

2

1지점부터 3지점까지 누수되는 곳을 막을 수 있는 테이프 1개, 2지점부터 4지점까지 누수되는 곳을 막을 수 있는 테이프 1개로 총 2개의 테이프가 필요하다. 이 때, L = 3을 1 ≤ 4 ≤ 4로 두면 테이프는 당연히 1개가 나오게 되고 <로 두면 테이프는 2개가 나온다. 등호에 주의했으면 간단히 해결했을 문제였다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

N, L = map(int, input().split())
tape = list(map(int, input().split()))
tape.sort()

cnt = 1
start = tape[0]
end = tape[0] + L
for i in range(len(tape)):
    if start <= tape[i] < end:
        continue
    else:
        start = tape[i]
        end = tape[i] + L
        cnt += 1
print(cnt)

💡소요시간 : 8m

0개의 댓글