Notice
Recent Posts
Recent Comments
Archives
05-02 07:35
«   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
관리 메뉴

줴림이 공부하줴림

5253. [파이썬 S/W 문제해결 최적화] 1일차 - 접두어 검색 본문

Study/SWEA

5253. [파이썬 S/W 문제해결 최적화] 1일차 - 접두어 검색

줴림 2025. 4. 29. 19:44

이번엔 접두어 개수를 알아내는 문제이다. 이번에는 해결하는데 조금 애먹긴 했다.

T = int(input())
for test_case in range(1, T+1):
    N, M = map(int, input().split())
    a_list = [input() for _ in range(N)]
    b_list = [input() for _ in range(M)]
    
    count = 0
    
    for b in b_list:
        for a in a_list:
            if len(a) >= len(b) and a.startswith(b):
                count += 1
                break
    
    print(f"#{test_case} {count}")

문제를 이해해보면, B에 있는 단어가 A에 있는 단어의 접두어가 되는지 안되는지를 알아보는 것임을 알 수 있다. 그래서 B에 속한 단어들을 기준으로 A의 단어가 B의 단어들로 시작하는지 알아봤다. 거기에 하나라도 해당되면 접두어인거니까 바로 break해주었다.

간단한 문제지만 startswith()를 너무 오랜만에 봐서 그런가 어떻게 풀어야 하나 고민좀 했다. 파이썬 함수 좀 익혀야 하나...