Algorithm(알고리즘)/백준
03. 빠르게 산 오르기(약수터문제)
반응형
03. 빠르게 산 오르기(약수터문제)
리스트 : 약수터 위치, 한번에 capacity 칸 이동 가능
최소 들러야하는 약수터 리스트 출력
def select_stops(water_stops, capacity):
# 약수터 위치 리스트
stop_list = []
# 마지막 들른 약수터 위치
prev_stop = 0
for i in range(len(water_stops)):
# i 지점까지 갈 수 없으면, i - 1 지점 약수터를 들른다
if water_stops[i] - prev_stop > capacity:
stop_list.append(water_stops[i - 1])
prev_stop = water_stops[i - 1]
# 마지막 약수터는 무조건 간다
stop_list.append(water_stops[-1])
return stop_list
# 테스트
list1 = [1, 4, 5, 7, 11, 12, 13, 16, 18, 20, 22, 24, 26]
print(select_stops(list1, 4))
list2 = [5, 8, 12, 17, 20, 22, 23, 24, 28, 32, 38, 42, 44, 47]
print(select_stops(list2, 6))
# 결과
[4, 7, 11, 13, 16, 20, 24, 26]
[5, 8, 12, 17, 23, 28, 32, 38, 44, 47]
반응형
'Algorithm(알고리즘) > 백준' 카테고리의 다른 글
06. 주식 최대 수익 함수 (0) | 2021.05.22 |
---|---|
05. 투자의 귀재, 합 구간이 가장 큰 함수 (0) | 2021.05.22 |
04. 첫번째로 중복되는 항목 찾기 1 (0) | 2021.05.22 |
02. 거듭 제곱 계산 함수 (x ** y) (0) | 2021.05.16 |
01. 최대 합 구간을 구하는 함수(Brute Force) (0) | 2021.05.16 |
댓글