0%

백준SHA-256

해시

데이터를 다루는 기법중에 하나로 검색과 저장이 아주 빠름

해시가 아주 빠르게 진행될 수 있는 이유는 데이터를 검색할 때 사용할 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 사용법