983. Minimum Cost For Tickets

홍범선·2023년 1월 18일
0

983. Minimum Cost For Tickets

https://leetcode.com/problems/minimum-cost-for-tickets/

문제

풀이


문제 설명에 따르면 선택할 수 있는 경우의 수가 3가지 있다. 즉 (1 days, 7 days, 30 days) 이다. dfs를 사용하여 해당하는 경우의 수 중 최소값 비용만 가져오도록 하는 로직을 만들었다. 여기서 중요한 것은 날짜가 커버된 다음 인덱스부터 시작해야 한다는 것이다. 커버되는 날짜변수는 cover로 하였는데 기차표를 7 days를 구매하였다면 cover에는 1 + 7 - 1 = 7 까지 커버가 된다는 소리이다.
이젠 커버되지 않는 첫 번째 인덱스를 구해야 하는데 for문을 통해 cover보다 큰 값이 있으면 그 때 break하여 for문 인덱스를 new_index에 저장한다.
이렇게 경우의 수를 계산하면서 최소값을 찾는 방법으로 해결하였다.

결과

profile
날마다 성장하는 개발자

0개의 댓글