문제를 보면 입력되는 값을 여행할 날짜들을 입력한 날짜 배열과 주어지는 종류별 티켓 가격이다. 이를 바탕으로 여행에 사용되는 최소비용을 돌려주어야 한다.
가장 먼저 생각한 풀이방식은 모든 경우의 수의 결과를 얻고 거기서 가장 최소의 값을 돌려주는 방식이다. 날짜별로 각 종류의 티켓 사용을 고려하고 그러한 과정을 재귀적인 방식으로 연이어가서 최종적으로 결과를 얻어 비교하면서 최소 값을 찾는 방식이다.
이 경우 문제에 제시된 예문이나 통과에 필요한 다른 예문에서 잘 동작하는것을 확인하였다. 하지만 모든 경우의 수를 따지기에 조금만 날짜 배열이 길어져도 소요시간이 길어져 문제가 발생하였다. 해서 위방식의 틀을 그대로 둔채 각 티켓에따른 다음배열을 찾기 수월하게 이진 탐색 을 고려해보았으나 크게 다른 결과를 나타내지 않았다.
해서 알고리즘의 전반적이 개선이 필요하다고 생각하였고 모든 경우의수가 아닌 당장 가능한 최선의 수를 찾는 방식으로 풀이 방식을 수정하려고 하였다. 하지만 현재 시점에서 1일권이 나은지 7일원이 나은지 30일권이 나은지 구분하는 기준이 문제가 되었다. 1일권의 경우 다른 두경우가 실패할경우 사용하는 방식이면 되겠으나 7일권과 30일권을 어떻게 구분할것인가 하는 부분에서 적절한 기준을 찾지 못하였다. 해서 이부분에 대한 고민을 더 해보고 풀이를 진행해야 하겠다.
일상