반응형
단순한 문제입니다. 주어진 문자열의 해시값만 출력하면 됩니다. 하지만 저는 2번 틀렸습니다. 그 이유는 sys 라이브러리의 stdin을 이용하면 줄바꿈까지 입력값으로 들어갑니다. 따라서 입력값이 아주 조금만 달라져도 해시값은 완전히 바뀌기 때문에 틀릴 수 밖에 없습니다.
따라서 stdin을 이용하려면 줄바꿈을 없애서 해쉬값을 만들던지, 느린 input()
함수를 사용하던지 해야 합니다.
저는 그냥 input()
함수를 사용하였습니다.
hash값 생성을 위해서는 파이썬의 haslib
라이브러리를 이용합니다. hashlib.sha256()
함수에 encode한 문자열을 넣어주면 객체가 반환되는데, 반환된 객체의 hexdigest()
메서드를 사용하여 출력하면 16진수의 다이제스트(해시함수 결과값)이 출력됩니다.
# -*- coding: utf-8 -*-
# boj 10930 SHA-256
import hashlib
str = input()
print(hashlib.sha256(str.encode('utf-8')).hexdigest())
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[BAEKJOON] #1202) 보석 도둑 (그리디, 최소힙) (0) | 2023.01.28 |
---|---|
[BAEKJOON] #1543 문서 검색 (0) | 2023.01.25 |
BAEKJOON #5397) 키로거 | Python (0) | 2022.06.29 |
BAEKJOON #1904) 01타일 | DP(다이나믹 프로그래밍) | Python (0) | 2022.06.28 |
BAEKJOON #9461) 파도반 수열 | DP | Python (0) | 2022.06.27 |
댓글