-
[백준] 1449 - 수리공알고리즘 2023. 5. 15. 17:16728x90
1. 문제
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
2. 접근
1. 수리해야 하는 곳들은 sort() 시켜서 순서대로 접근한다
2. 무조건 수리되는 부분이 포함 되기때문에 cnt = 1로 잡는다
3. 현재 수리하는 부분이랑 다음 수리하는 부분의 길이차를 계속 더해가면서 L 의 길이보다 작다면 한개의 테이프로 감당 가능한것으로 이보다 거리가 크거나 같다면 테이프를 추가하면 된다 ( 같아도 테이프를 추가하는 이유는 양끝 0.5씩 더 붙여야하므로 1의 여유 길이 생각해야한다 )
3. 풀이
# 1449 실버3 import sys input = sys.stdin.readline n,l = map(int,input().split()) points = list(map(int,input().split())) points.sort() cnt = 1 dist = 0 for i in range(1,n): dist += points[i] - points[i-1] if l > dist: continue else: cnt += 1 dist = 0 print(cnt)
'알고리즘' 카테고리의 다른 글
[백준] 2503 - 숫자야구 (0) 2023.05.15 [백준] 2331 - 반복 수열 (0) 2023.05.15 [백준] 2491 - 수열 (1) 2023.05.15 [백준] 1713 - 후보 추천하기 (0) 2023.05.13 [백준] 14716 - 현수막 (0) 2023.05.13