[WEEK01] 9일차 외판원 순회 2

kozi·2023년 3월 7일
0

SW사관학교 정글

목록 보기
6/33

pop()

리스트의 마지막 요소를 꺼내고 리스트에서 그 요소를 삭제한다.

() 안에 숫자를 넣으면 해당 인덱스에 해당하는 요소가 삭제된다.

list = [9, 8, 7, 6, 5]
list.pop()
print(list)

>>> [9, 8, 7, 6]

list2 = [5, 4, 3, 2, 1]
list2.pop(3)
print(list2)

>>> [5, 4, 3, 1]

백준 10971 외판원 순회 2

dfs 백트래킹 방식으로 구현했었는데 처음에 python3로 제출했을 때 시간초과가 나서 혹시나 해서 pypy3로 제출하니 통과가 되었다. 시간을 좀 더 줄일 수 있는 방법이 없을까 검색을 해보니 행렬 가로세로 숫자만큼 False를 채워넣은 배열을 만들어놓고 F를 T로 바꿔가면서 노드를 이동시키는 방식으로 구현한 함수가 있었다.

내가 구현했던 함수보다 받아야하는 인자 수도 하나 적고(최소 비용만 계산하면 되기 때문에) 깔끔한 코드 방식이 마음에 들었다.
코드를 분석하면서 느낀 건... 처음에는 간단해 보였지만 사실 꽤나 어려운 방식이었다는 거였다.
원리는 이해했으나 시간을 좀 더 들여서 진행 절차를 좀 더 면밀히 살펴봐야 할 것 같다.
재귀함수에 좀 더 익숙해져야겠다.

profile
어제보다 잘하고 싶은 개발자 Kozi 입니다.

0개의 댓글