해시
데이터를 다루는 기법중에 하나로 검색과 저장이 아주 빠름
해시가 아주 빠르게 진행될 수 있는 이유는 데이터를 검색할 때 사용할 key와 실제 데이터의 값(value)이 한 쌍으로 존재하고, key값이 배열의 인덱스로 변환되기 때문에 검색과 저장의 평균적인 시간 복잡도가 O(1)에 수렴하게 됩니다.
ex) hello라는 문자열을 정수형 key값으로 바꾼다면, h+e+l+l+o -> 104+101+108+108+111=532라는 해시코드로 변환 할 수 있습니다.
백준알고리즘의 10930문제를 풀다가 hash에 대한 개념이 부족하여 간단하게 정리 후 알고리즘을 풀어봤습니다.
1 | import hashlib # 라이브러리를 import |
2 | |
3 | s = input() # 입력받을 input |
4 | s_encode = s.encode() # 문자열의 바이트객체로 변환 |
5 | result = hashlib.sha256(s_encode).hexdigest() #해시객체로 변환 |
6 | print(result) |
배운점: hashlib 사용법