사용 언어 - Python3
문제 - 수리공 항승
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
정답
조건문 (정답 맞춘 여부 X)
테이프를 처음 붙이는 start 지점에서 테이프길이 L 사이에 또 다른 물이 새는 위치가 있다면 continue
아니라면, start 지점 이동 + 테이프 한개를 더 사용해야하므로 cnt += 1
import sys
input = sys.stdin.readline
N,L = map(int,input().split()) #N물이 새는 곳의 개수 / L테이프의 길이
loc = list(map(int,input().split())) #N개의 물이 새는 곳의 위치
loc.sort() #위치 정렬
start = loc[0] #테이프 붙이는 시작지점
cnt = 1 #테이프 개수 (최소 1개)
for location in loc[1:]: #물이 새는 위치 for문
if location in range(start,start+L):
#시작지점에서 테이프 길이만큼 안에 물이 새는 위치가 있다면,
continue
else:
start = location
cnt += 1
print(cnt)
- 정답 깃허브
GitHub - yyeongeun/codingtest: 코딩테스트 공부
코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.
github.com
'Algorithm > 구현' 카테고리의 다른 글
[Python3] 백준 1347번 미로 만들기 (0) | 2023.04.09 |
---|---|
[Python3] 백준 1002번 터렛 (0) | 2023.04.07 |
[Python3] 백준 1270번 전쟁 - 땅따먹기 (0) | 2023.04.05 |
[Python3] 백준 1004번 어린 왕자 (0) | 2023.04.02 |
[Python3] 백준 1063번 킹 (0) | 2023.03.31 |
댓글