Notice
Recent Posts
Recent Comments
Archives
05-03 08:09
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
관리 메뉴

줴림이 공부하줴림

5252. [파이썬 S/W 문제해결 최적화] 1일차 - 공통 단어 검색 본문

Study/SWEA

5252. [파이썬 S/W 문제해결 최적화] 1일차 - 공통 단어 검색

줴림 2025. 4. 29. 19:41

원래는 그래프의 최소 비용 문제들을 풀어야 하지만, 피곤함 이슈로 문자열 탐색 문제를 풀기로 한 나.

T = int(input())
for test_case in range(1, T+1):
    N, M = map(int, input().split())
    A_dict = [input() for _ in range(N)]
    B_dict = [input() for _ in range(M)]
    
    tmp = []
    count = 0
    
    for i in range(len(A_dict)):
        for j in range(len(B_dict)):
            if A_dict[i] == B_dict[j] and B_dict[j] not in tmp:
                tmp.append(B_dict[j])
                count += 1
    
    print(f"#{test_case} {count}")

이번 문제는 직접 손으로 풀어보면서 코드를 생각하지 않아도 쉽게 풀 수 있는 문제였다. 원래는 그냥 pop을 바로 해버릴까 했지만, 리스트 인덱스 범위를 초과했다고 오류가 나올까봐 다른 방법을 썼다.

tmp 리스트를 따로 만들어서 똑같은 단어가 있다면 그 리스트에 넣고, 만약에 뒤에 또 비교가 된다 한더라도 이미 tmp 안에 존재하기 때문에 넘어가도록 하는 방식으로 구현했다.

결과는 한 번에 통과!