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)
'PS > Python' 카테고리의 다른 글
[수학][BOJ / Python] 1712 - 손익분기점 (0) | 2020.10.08 |
---|---|
[문자열][BOJ / Python] 2941 - 크로아티아 알파벳 (0) | 2020.10.05 |
[BOJ / Python] 4673 - 셀프 넘버 / 구현 (0) | 2020.10.02 |
[BOJ / Python] 1759 - 암호 만들기 (0) | 2020.09.30 |
[BOJ / Python] 2812 - 크게 만들기 / 그리디 / 문제 데이터 추가 기여 (0) | 2020.09.29 |
최근댓글