목록Algorithm (2)
준호씨의 블로그
https://gist.github.com/junho85/0d8c4beb0441bb0337914ca6e69dd915 과정 처음에는 fixed size list 를 사용할 방법을 찾아 보다가 deque 라는 녀석을 알게 되었다. (https://stackoverflow.com/a/16430458/964890) 새로운 값이 들어가면 자연스럽게 기존에 들어갔던 값이 제거 되니 딱 적절해 보였다. 처음에는 이렇게 짰는데 첫번째 테스트를 무사히 통과 했다. def solution(cacheSize, cities): answer = 0 q = deque(maxlen=cacheSize) for item in cities: if item in q: answer += 1 else: answer += 5 q.append(..
알고리즘 문제 풀기에서 단골로 나오는 것중 하나가 순열입니. 리스트가 있을 때 서로 겹치지 않게 모든 경우로 표현하는 것입니다. 예들 들어 1과 2가 있으면 다음과 같은 조합을 만들 수 있습니다. 1 2 2 1 만약 1, 2, 3이 있다면 다음과 같은 조합을 만들 수 있겠죠? 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 순열은 factorial 로 경우가 수의 늘어납니다. 1! = 1 2! = 1 x 2 = 2 3! = 1 x 2 x 3 = 6 4! = 1 x 2 x 3 x 4 = 24 순열을 직접 구현 할 수도 있겠지만, 빠르게 해답을 찾으려면 itertools 를 사용할 수 있습니다. (python 만세) import itertools for perm in itertools.per..