백준 2607 비슷한 단어

전.py / / 2020. 12. 12. 23:56
728x90

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

 

2607번: 비슷한 단어

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

www.acmicpc.net

n = int(input())
inp = []
word = []
for i in range(n):
    inp.append(input())     # 'dog'
    
word = [sorted(list(inp[i])) for i in range(n)] #  [['d','g','o'], ... ]
find = [len(inp[i]) if len(inp[i]) >= len(word[0]) else len(word[0]) for i in range(n)]
# 첫번째 단어보다 긴 경우는 그 길이 만큼, 짧은 경우는 첫번째 단어 길이 만큼 배열 생성

for i in range(1,n):
    for j in range(len(word[0])):      # ['d', 'g', 'o']
        for k in range(len(word[i])):    # ['d', 'g', 'o']
            if word[i][k] == word[0][j]:  # 글자 비교해서 같으면 find -= 1
                find[i] -= 1
                word[i][k] = ' '     # 글자 지움
                break

cnt = 0            
for i in range(1,n):
    if find[i] <= 1:    # 1더하거나, 1빼거나, 1수정, 모든 문자 같은 경우 cnt += 1
        cnt += 1
print(cnt)

반응형

'전.py' 카테고리의 다른 글

백준 2605 줄 세우기  (0) 2020.12.12
백준 2606 바이러스  (0) 2020.12.12
백준 2608 로마 숫자  (0) 2020.12.12
백준 1289 팰린드롬수  (0) 2020.12.12
백준 1371 가장 많은 글자  (0) 2020.12.12
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기