알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1449] 수리공 항승

hueco 2022. 11. 28.

 

📌 문제 링크: https://www.acmicpc.net/problem/1449

 

1449번: 수리공 항승

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

www.acmicpc.net

 

내 풀이(Success) :

 

🧐 Review:

 물이 새는 곳의 위치가 정렬되어 있지 않으므로 데이터를 입력받고 바로 오름차순 정렬을 해주었다. 그다음으로 리스트의 첫 번째 위치를 테이핑의 시작점으로 두고 다음 위치와의 거리 차이를 계산한다. 거리 차이가 테이프의 길이인 L보다 작으면 테이프로 충분히 커버할 수 있지만, 차이가 L보다 크면 당연히 커버할 수 없고, 차이가 같더라도 좌우 0.5씩 간격이 필요하기 때문에 크기가 길이가 L인 테이프로는 커버할 수 없다. 이렇게 커버할 수 없는 경우가 생길 때마다 필요한 테이프의 개수가 하나씩 늘어나고, 테이핑을 시작하는 위치를 다시 설정해준다.

 

for 반복문이 끝나고 테이프의 최소 개수인 1을 더해주었다. 막상 문제를 풀고나니 초기값을 0이 아닌 1로 설정해주는 것이 좀 더 깔끔한 느낌을 주는 코드라는 생각이 든다.

 
 
 

 

 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_17176] 암호해독기  (0) 2022.12.28
[BOJ_5648] 역원소 정렬  (0) 2022.12.19
[BOJ_12891] DNA 비밀번호  (0) 2022.11.24
[BOJ_1926] 그림  (0) 2022.11.10
[BOJ_11501] 주식  (0) 2022.11.09

댓글