https://www.acmicpc.net/problem/1764
나의 코드
import sys
N, M = map(int, input().split())
dict = {}
for _ in range(N):
dict[sys.stdin.readline().rstrip()] = _
ans = []
for i in range(M):
name = sys.stdin.readline().rstrip()
if name in dict:
ans.append(name)
ans.sort()
print(len(ans))
for k in ans:
print(k)
결과

입력값 500000개였지만 readline안썼는데 그래서 시간초과된줄 알고 readline썼는데도 시간초과 됐다. 그리고 사전순으로 출력인데 문제읽을 때 생각했는데 정작 코드에 안넣어서 틀리고 sort넣어서 성공. 리스트와 딕셔너리로 풀었을 때의 시간차이를 너무나도 체감한 문제였다.
알고리즘에 해싱 어쩌구 있어서 해싱에 대해서 찾아봤는데 결국 그냥 딕셔너리로 풀라는 말이었다고 생각하기로..ㅎㅎ
'스터디 1일 1커밋' 카테고리의 다른 글
| 240501 [BOJ/백준] 17484. 진우의 달 여행(small) (0) | 2024.05.01 |
|---|---|
| 240430 [BOJ/백준] 24553. 팰린드롬 게임 (0) | 2024.04.30 |
| 240428 [BOJ/백준] 1303. 전쟁 - 전투 (0) | 2024.04.28 |
| 240427 [BOJ/백준] 19637. IF문 좀 대신 써줘 (0) | 2024.04.27 |
| 240427 [BOJ/백준] 1012. 유기농 배추 (0) | 2024.04.27 |