백준 14425

ZEDY·2024년 3월 25일
0

문제

총 N개의 문자열로 이루어진 집합 S가 주어진다.

입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.

풀이

내가 생각할 알고리즘

  1. 사용자로부터 두 개의 정수를 입력받습니다. 이때 첫 번째 정수를 N에, 두 번째 정수를 M에 할당합니다.
  2. cnt 변수를 0으로 초기화합니다. 이 변수는 공통으로 등장하는 요소의 개수를 나타냅니다.
  3. 빈 집합인 temp를 생성합니다.
  4. N번 반복하면서, 사용자로부터 문자열을 입력받고, 이를 temp 집합에 추가합니다. 이 과정을 통해, N개의 문자열을 입력받아 temp 집합에 저장합니다.
  5. M번 반복하면서, 사용자로부터 문자열을 입력받고, 이 문자열이 temp 집합에 포함되어 있는지 확인합니다. 만약 포함되어 있다면 cnt 변수를 1 증가시킵니다.
  6. cnt 변수의 값을 출력합니다. 이 값은 M번 입력된 문자열 중 temp 집합에 속한 문자열의 개수를 나타냅니다.

이 알고리즘은 두 번의 반복문을 사용하여 각각 N과 M번의 입력을 처리하고, 집합을 활용하여 중복된 입력을 효율적으로 관리합니다. 최종적으로 공통으로 등장하는 요소의 개수를 출력합니다.

정답 코드

N, M = map(int, input().split(' '))
cnt = 0

temp = set()

for i in range(N):
    temp.add(input())

for j in range(M):
    if input() in temp:
        cnt += 1

print(cnt)
profile
Spring Boot 백엔드 주니어 개발자

0개의 댓글