Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- autoencoder
- 네이버AItech
- Kubernetes
- 알고리즘
- GCP
- docker
- DeepLearning
- vscode
- python
- leetcode
- datascience
- PytorchLightning
- pep8
- Kaggle
- NLP
- pytorch
- 프로그래머스
- wandb
- rnn
- 코딩테스트
- NaverAItech
- GitHub Action
- FastAPI
- torchserve
- Matplotlib
- 완전탐색
- FDS
- GIT
- 백준
- github
Archives
- Today
- Total
Sangmun
백준 1449번 수리공 본문
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
누수가 발생하는 지점을 리스트로 받고 오름차순으로 정렬을 해주어 가장 가까운 누수지점부터 차례로 테이프를 붙여가면서 테이프의 길이를 넘어갈때 개수를 하나씩 추가해주면 된다.
import sys
input = sys.stdin.readline
n, l = map(int,input().split())
leak_point = list(map(int,input().split()))
leak_point.sort()
start_point = -1
end_point = -1
answer = 0
for idx, each in enumerate(leak_point):
if start_point == -1:
start_point = each - 0.5
end_point = each + 0.5
else:
end_point = each + 0.5
length = end_point - start_point
if length == l:
answer += 1
start_point = -1
elif length > l:
answer += 1
start_point = each - 0.5
# 마지막에 하나 남았을때 처리하기 위한 로직
if idx + 1 == n:
answer += 1
else:
# 마지막에 하나 남았을때 처리하기 위한 로직
if idx + 1 == n:
answer += 1
print(answer)
'알고리즘 > 백준' 카테고리의 다른 글
백준 1495번 기타리스트 (0) | 2023.02.06 |
---|---|
백준 7490번 0 만들기 (0) | 2023.02.04 |
백준 1049번 기타줄 (0) | 2023.02.03 |
백준 11057 오르막 수 (0) | 2022.12.22 |
백준 11052번 카드 구매하기 파이썬 (0) | 2022.12.21 |
Comments