evergreening   4년 전

안녕하세요.

알고리즘을 시작한지 얼마 안된 초보입니다.

시간복잡도에 대한 이해는 조금씩 되는데

공간복잡도에 대한 이해가 잘 되지않아서 발생한 문제 같습니다.

결과는 제대로 출력되나 메모리 초과가 발생합니다.

기본적으로 최소값 숫자 리스트, 최대값 숫자 리스트를 저장하고

이 숫자들을 파이썬 내장함수 permutations를 이용하여 순열을 만들어 최소값을 체크하고자 했습니다.

그리고 첫번째 숫자와 그다음 숫자 사이의 부등호 방향이 맞으면 계속, 아니라면 break 를 하며

출력하고자 했습니다.

수정해야하거나 좀더 공부해보면 좋을 자료가 있다면 링크 부탁드립니다! ㅜ

감사합니다.

jeenie145   3년 전

permutations를 쓰면 부등호를 고려하지 않고 모든 경우를 다 구하므로 메모리 초과가 발생합니다.

부등호를 고려하여 (앞뒤 크기를 고려하여) 조합을 만들어야 합니다.

dfs방법으로 푸는 것을 추천합니다.

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