728x90
 

1316번: 그룹 단어 체커

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

www.acmicpc.net

풀이

입력을 리스트로 받고, 스택에 쌓으면서 이미 있는 단어인지 체크한다.

 

만약 있는 단어라면 스택의 가장 위에 있는 단어와 같은지 체크하고, 이미 있는 단어인데 스택의 TOP 값과 다르다면 False를 리턴하고, 반복문이 끝까지 돈 경우에는 True를 반환하는 함수를 선언했다.

코드
n = int(input())
answer = 0
def check(word):
    stack = []
    for i in word:
        if i not in stack:
            stack.append(i)
        else:
            if stack[-1] == i:
                stack.append(i)
            else:
                return False
    return True

for _ in range(n):
    word = list(input())
    if check(word):
        answer+=1
print(answer)
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기