-
[자료구조]트리 순회 (python3 코드)
inorder: 중위순회 (L-root-R) preorder: 전위순회 (root-L-R) postorder: 후위순회 (L-R-root) 갠적인 암기팁.. in은 어떤것 안에,, 사이에,,, 중간에,,, 있는것이므로 루트를 중간에 순회 pre- 의미가 전前,, 먼저,, 이런것이므로 루트를 먼저 순회 post- 는 후後이므로 루트를 가장 나중에 순회 전 이렇게 외웠는데 아닐수도있음 내가 모를수도,,, 떠올리지 못했을수도 내가 무지했을수도 내가 감히 내가 또 잘못을 import sys input = sys.stdin.readline n = int(input()) tree = {} for i in range(n): c, l, r = map(str, input().split()) tree[c] = l, r d..
🖥
2022. 12. 24.
-
[python] 배열 안의 원소 길이 순으로 리스트 정렬하기
파이썬에서 2차원배열 등의 경우 원소 길이 순으로 array 정렬 ex) [[2], [1, 3, 4], [2, 3]]인 경우 [[2], [2, 3], [1, 3, 4]]로 정렬하려면 s.sort(key=len) #s.sort(key=len, reverse=True) #역순
🖥
2022. 10. 24.
-
[Python3] 이진탐색 알고리즘 반복문, 재귀
이미 정렬되어 있을때 사용 시간복잡도 O(logN) 반복문 def binary(array, target, start, end): while start target: end = mid-1 else: start = mid+1 return None 재귀 def binary(array, target, start, end): if start>end: return None mid = (start+end) // 2 if array[mid] == target: return mid elif array[mid] > target: return binary(array, target, start, mid-1) else: return binary(array, target, mid+1, end)
🖥
2022. 10. 14.
-
[python3] 피보나치 동적계획법
" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스dynamic programming으로 작성한 n번째 피보나치수 반환해주는 함수메모이제이션 x 0번째부터 0, 1, 1, 2, 3, 5, 8, ... 으로 진행됨 def solution(n): answer = 0 f = [0, 1, 1] for i in range(3, n+1): f.append(f[i-1] + f[i-2]) return f[n]
🖥
2022. 10. 1.