분류 전체보기161 트리(tree)의 기본 * 트리(Tree): 노드와 간선으로 구성되어 있는 자료 구조 (그래프의 일종으로 Cycle이 일어나지 않는 특징을 가진다) * 이진 트리(Binary Tree): 모든 노드가 최대 2개의 간선을 가지는 트리 * 이진 탐색 트리(Binary Search Tree): 이진 트리 + 규칙 하나 자신보다 왼쪽에 위치한 노드는 자신보다 작은 값을 가지며, 오른쪽 노드는 큰 값을 가진다 * 시간 복잡도: O(log n) (최악의 경우, O(n) - 링크드 리스트와 동일한 성능) - 한번 실행할 때마다, 50%의 실행시간을 단축한다는 것을 의미 - 이미지 출처: www.mathwarehouse.com/programming/gifs/binary-search-tree.php#binary-search-tree-inser.. 2020. 10. 6. 1920-수 찾기 (python) 1. SHA256를 사용한 첫 번째 코드(런타임 에러) - SHA256를 사용한 이유? 문제풀기 직전에 배웠기 때문에 비효율적이긴 하지만 막무가내로 그냥 써보고 싶었다... - 하지만 런타임 에러가 계속되어 다른 방법을 찾아보았다. import hashlib def get_value(x): encoded = str(x).encode() return hashlib.sha256(encoded).hexdigest() # 해시값을 key 대신 value로 사용 def save(x): hash_table[x-1] = get_value(x) n = int(input()) for _ in range(n): nums = list(map(int, input().split(' '))) m = int(input()) num.. 2020. 10. 6. 19/09- 주로 런타임에러가 발생하는 경우 백준에서 런타임 에러가 발생하는 문제가 생겨서 이유가 뭔지 알려고 찾아봤더니 바로 나왔다. 넘나 잘 정리되어 있다!! (다만, C/C++ 관련 내용도 있다) 런타임 에러 그 이유!! 1. 배열에 할당된 크기를 넘어서 접근했을 때 2. 전역 배열의 크기가 메모리 제한을 초과할 때 3. 지역 배열의 크기가 스택 크기 제한을 넘어갈 때 4. 0으로 나눌 때 5. 라이브러리에서 예외를 발생시켰을 때 6. 재귀 호출이 너무 깊어질 때 7. 이미 해제된 메모리를 또 참조할 때 8. 프로그램(main 함수)이 0이 아닌 수를 반환했을 때 * 구체적인 사례 :: - switch 사용시 case 내부에 break 안 넣었을 때 - 출처 :https://www.acmicpc.net/board/view/22980 2020. 10. 6. 10930-SHA-256 (python) 해시 테이블을 공부하고 푸니 이해가 잘 되었다! * SHA (Secure Hash Algorithm: 안전한 해시 알고리즘) : 대표적인 해시 함수 중 하나로, 어떤 데이터도 고정된 길이의 값으로 반환해준다 import hashlib s = input() hash_object = hashlib.sha256() hash_object.update(s.encode()) result = hash_object.hexdigest() print(result) 2020. 10. 6. 이전 1 ··· 25 26 27 28 29 30 31 ··· 41 다음