jaejin0209   5년 전

처음 문제를 보고 단순한 메모이제이션 문제라 생각해 표현해야 하는 값 price 와 사용할 수 있는 가장 높은 가치의 동전의 index인 maxIndex를 재귀함수의 입력으로 받아 가장 낮은 가치의 동전부터 가능한 한 높은 가치의 동전을 사용한 후 재귀하는 형태로 설계했습니다. 이것이 1번 접근방식 코드입니다.

그러나 문제에서 시간초과가 나와 막막해하던 중 학창시절 비슷한 문제를 풀 때 편의를 위해 가장 큰 가치의 동전의 갯수로 가능한 경우를 나열하고 나머지를 채워나가는 식으로 접근했던 것이 떠올라 그 방식으로 구현했습니다. 이것이 2번 접근방식 코드입니다.

겉보기에는 시간복잡도에서 차이가 있지 않을것이라 생각했는데 2번 접근방식의 경우 시간초과 없이 정답처리 됐습니다. 두 접근방식 간 시간복잡도는 어떻게 차이가 나는걸까요?

댓글을 작성하려면 로그인해야 합니다.