반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

1449 수리공 항승 본문

코딩 테스트(Python)/백준, 프로그래머스

1449 수리공 항승

5_hyun 2022. 1. 20. 22:58
반응형

https://www.acmicpc.net/problem/1449

 

1449번: 수리공 항승

첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나

www.acmicpc.net

 

내 풀이(맞음)

N, L = map(int, input().split())
ary = []
x = input().split()
for i in range(len(x)):
        ary.append(int(x[i]))
ary.sort()
chk = ary[0] + L - 0.5
count = 1
for i in range(1, N):
    if(ary[i] <= chk):
        continue
    else:
        chk = ary[i] + L - 0.5
        count += 1
print(count)

N이 누수 개수이고 L이 밴드 길이이다. chk로 밴드가 어디까지 붙었는지 길이를 표시한다. 맨 왼쪽 누수는 밴드를 붙였다. 치고 밴드의 개수인 count를 1로 만들어준다. 그리고 for문으로 반복해서 만약에 밴드의 위치가 다음 누수 부분보다 길게 붙어있으면 continue하고 만약 짧으면 다음꺼에 양쪽 0.5 간격을 생각하여 밴드를 붙이고 chk, count를 업데이트 해준다.

반응형

'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글

15904 UCPC  (0) 2022.01.22
2810 컵홀더  (0) 2022.01.21
1946 신입사원  (0) 2022.01.20
2012 등수매기기  (0) 2022.01.19
15903 카드 합체 놀이  (0) 2022.01.18
Comments