https://www.acmicpc.net/problem/14425
문제 풀이
N, M을 정수형태로 입력받습니다. |
(시행착오 1) |
S를 딕셔너리로 준비해놓고, 공통값과 함께 초기화합니다. |
N개의 줄만큼 S에 문자열을 입력받습니다. |
S에 입력받은 문자열과 중복을 비교할 문자열을 M개의 줄만큼 입력받습니다. |
출력값으로 겹치는 문자열의 개수를 확인할 수 있습니다. |
시행착오
1. S를 리스트로 받았습니다. 빠른 탐색을 위해선 list보다 set이나 dict형태의 해시테이블을 이용하는 자료구조가 효율적입니다. |
문제 코드
N, M = map(int, input().split())
S = dict()
common_val=0
for _ in range(N):
S_item = input()
S[S_item] = True
for _ in range(M):
check = input()
if check in S:
common_val+=1
print(common_val)
감사합니다.
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[BOJ/Python3] 14425번 문자열 집합 (0) | 2024.07.14 |
---|---|
[백준/Python] 18111번 : 마인크래프트 (0) | 2024.07.14 |
[백준/Python] 2675번 : 문자열 반복 (0) | 2024.07.14 |
[백준/python] 1350번 : 진짜 공간 (0) | 2024.07.14 |
[백준/Python] 17219번 : 비밀번호 찾기 (0) | 2024.07.13 |