https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
아이디어
- 받은 데이터를 크기 순으로 오름차순 정렬
- 값을 순회하며 L-1 (= L-0.5-0.5) 의 값보다 큰 값이 필요해지면 (현재 순회하는 값 - 시작 값이 L-1 보다 크면)
- 카운트 값을 올리고
- 현재 위치부터 다시 계산한다
전체 코드
N, L = map(int, input().split())
datas = [int(x) for x in input().split()]
datas.sort()
L -= 1
now_d = datas[0]
count = 1
for d in datas[1:]:
if (d - now_d) > L:
now_d = d
count += 1
print(count)
'Coding Test > Python' 카테고리의 다른 글
[백준/구현&정렬] 8978번: 올림픽 (python, 실버5 ) (0) | 2024.03.12 |
---|---|
[백준/BFS&DFS] 1926번: 그림 (python, 실버 1) (0) | 2024.03.11 |
[백준/union-find] 1717번: 집합의 표현(골드5, python) (0) | 2024.02.15 |
[LeetCode] 47. Permutations II (Medium, Python) (1) | 2024.02.14 |
[LeetCode] 46. Permutations (Medium, Python) (0) | 2024.02.14 |