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())
nums2 = list(map(int, input().split(' ')))
hash_table = [0] * 100000
for x in nums:
save(x)
for x in nums2:
x_value = get_value(x)
if hash_table[x-1] != x_value:
print(0)
else:
print(1)
2. set 함수의 힌트를 얻다! (성공)
- 왜 런타임 에러가 계속 나는지 궁금해서 찾아보던 중, set 함수에 대한 힌트를 얻어 구현해봤더니 성공했다!
n = int(input())
base_nums = set(map(int, input().split(' ')))
m = int(input())
compare_nums = list(map(int, input().split(' ')))
for n in compare_nums:
if n not in base_nums:
print(0)
else:
print(1)
'> 알고리즘 문제 풀이 > BOJ' 카테고리의 다른 글
1427-소트인사이드 (python) (0) | 2020.10.10 |
---|---|
2750-수 정렬하기 (python) (0) | 2020.10.10 |
19/09- 주로 런타임에러가 발생하는 경우 (0) | 2020.10.06 |
10930-SHA-256 (python) (0) | 2020.10.06 |
5397-키로거 (python) (0) | 2020.10.03 |
댓글