BOJ - 1316

주의·2024년 1월 24일
0

boj

목록 보기
103/214

백준 문제 링크
그룹 단어 체커

❓접근법

  1. 각각의 단어를 words에 넣어준다.
  2. 단어에서 알파벳을 한 개씩 넣을 리스트 temp를 만들어준다.
  3. 조건은 다음과 같다.
  • temp가 비었을 때 알파벳을 넣는다.
  • temp가 비어있지 않을 때
    • temp의 마지막 알파벳과 words의 알파벳이 다를 때
      • words의 알파벳이 temp에 이미 존재한다면 break
      • 존재하지 않는다면 temp에 넣기
    • temp의 마지막 알파벳과 words의 알파벳이 같을 때 temp에 넣기
  1. 반복문을 다 돌았다면 temp를 answer에 넣고 다시 빈 리스트로 만들기
  2. 그럼 answer에는 각각의 인덱스에 단어 리스트가 생기게 되는데,
    이 단어와 words의 단어가 같다면 result + 1 해준다.

👌🏻코드

N = int(input())

words = []
for _ in range(N):
    words.append(input())

answer = []

for i in range(len(words)):
    temp = []
    for j in range(len(words[i])):
        if len(temp) == 0:
            temp.append(words[i][j])
            
        else:
            if temp[-1] != words[i][j]:
                if words[i][j] in temp:
                    break
                else:
                    temp.append(words[i][j])
                    
            else:
                temp.append(words[i][j])
                
    answer.append(temp)
    
result = 0
for i in range(len(answer)):
    x = ''.join(answer[i])
    
    if x == words[i]:
        result += 1
        
print(result)

0개의 댓글