본문 바로가기
코딩test공부/백준python

2607.비슷한 단어

by 왕방개 2024. 1. 16.

https://www.acmicpc.net/problem/2607

 

2607번: 비슷한 단어

첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져 있다. 단어의 개수는 100개 이하이며, 각 단어의 길이는 10 이

www.acmicpc.net

1.설명

 

target을 list로 받은 뒤 복사된 리스트를 compare이라고 칭했습니다.

 

새로운 단어 문자열 word를 받고 compare와 하나씩 비교합니다. compare에 해당 문자 포함되어 있는지 확인합니다.

있으면 remove로 제거하고, 아니면cnt를 1씩 증가시킵니다.

 

순회가 완료된 뒤의 cnt 값은 target 단어에 포함되지 않은 word의 문자의 개수이고, compare에 남아있는 문자들은 word에 포함되지 않은 문자들입니다.
 
따라서 cnt 값과 compare의 길이가 각각 1 이하여야만 조건을 만족하는 '비슷한 단어'입니다.
 

 

 

 

 

 

 

2.코드

N = int(input())
target = list(input())
answer = 0

for _ in range(N-1):
    compare = target[:] 
    word = input()
    cnt = 0

    for w in word:
        if w in compare:
            compare.remove(w)
        else:
            cnt += 1

    if cnt < 2 and len(compare) < 2:
        answer += 1

print(answer)

'코딩test공부 > 백준python' 카테고리의 다른 글

2512.예산  (0) 2024.01.11
20920.영단어 암기는 괴로워  (1) 2024.01.10
13305.주유소  (1) 2024.01.09
9017.크로스 컨트리  (1) 2024.01.08
1244.스위치 끄고 켜기  (2) 2024.01.04