BOJ - 1141

주의·2024년 1월 9일
0

boj

목록 보기
62/214

백준 문제 링크
접두사

❓접근법

  1. 단어를 저장한 lst 변수를 만든 다음, 단어가 짧은 순으로 정렬한다.
  2. 첫번째 단어와 나머지 단어를 비교해서 접두사가 있는지 확인할 것인데,
    여기서 isFalse = False를 만들어 접두사가 아님을 나타내는 변수를 만든다.
  3. 나머지 단어를 비교하면서 첫번째 단어가 나머지 단어의 접두사이면
    isFalse = True로 만들어준다.
  4. 첫번째 단어와 나머지 단어를 다 비교한 후 isFalse == False로 계속 남아있으면 answer +1 한다.
  5. 이 과정을 모든 단어에 대해 적용하고, answer를 출력하면 끝!

👌🏻코드

N = int(input())
lst = []
for _ in range(N):
    lst.append(input())
    
lst = sorted(lst, key = lambda x : len(x))

answer = 0   

for i in range(len(lst)):
    isFalse = False
    
    for j in range(i+1, len(lst)):
        if lst[i] == lst[j][:len(lst[i])]:
            isFalse = True
            
    if isFalse == False:
        answer += 1
    
print(answer)

0개의 댓글