본문 바로가기
코딩테스트

[Python] 백준 1316번 - '그룹 단어 체커' 풀이

by CuckooBird 2023. 1. 10.

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

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 

코드

import sys

N = int(sys.stdin.readline().rstrip())

group_word = 0
for i in range(N):
    word = sys.stdin.readline().rstrip()
    error = 0
    for index in range(len(word)-1):  
        if word[index] != word[index+1]:  
            new_word = word[index+1:]  
            if new_word.count(word[index]) > 0:  
                error += 1 
    if error == 0:
        group_word += 1  
print(group_word)

첫번째 if 문 : 단어의 앞 글자와 뒷 글자를 비교할 때, 다를 시에 뒷 글자를 new_word에 저장 합니다.

 

두번째 if 문 : 앞뒤가 다른 글자의 (ex : ab) 뒷 글자(b) 가 저장 되어있을 new_word에 앞 글자(a)가 하나라도 있다면 error변수에 1을 더해줍니다. error 변수는 그룹단어인지 아닌지 판별해주는 변수입니다.

 


후기

좀 더 열심히 성실하게 하겠습니다. 과제로 한 코드 가져온거라 약간 죄송하네요.

내일부터는 실버4 도전할 수 있도록 해보겠습니다.

댓글 언제나 감사드립니다.