728x90
반응형
Python 문제풀이
n = int(input())
alpa =[]
result =0
now = ''
state = 0 #상태가 -1이라면 그룹단어가 아니고 0이면 그룹단어이다
for i in range(n):
text= input()
now = text[0] #현재 이어지고 있는 문자를 뜻하는 변수에 첫 문자를 넣기
alpa.append(text[0]) #나왔던 문자를 저장하는 리스트에 첫 문자를 넣기
for j in range(len(text)):
if(now != text[j]): # 이어지다가 다른 글자가 나왔다면
for k in range(len(alpa)): # 이미 나왔던건지 검사하고
if alpa[k]==text[j]: #이미 나왔던거라면
state = -1 #이거는 횟수로 칭할 수 없다
break
else: #이어지는 글자라면 계속가자
continue
if state == -1:
break
else: #나는 문제없는 새로운 문자다
now = text[j] #현재 이어지는 문자를 새로운 문자로 변경
alpa.append(text[j]) #새로운 문자를 리스트에 추가
alpa = [] #나왔던 문자를 저장하는 리스트 초기화
if state == 0:
result +=1
else:
state =0
print(result)
저도 문제를 풀면서 헷갈려서 주석을 달면서 풀었습니다. 원래 주석은 달아야하는게 맞습니다만..ㅎ
간단하게 설명하면 나왔던 문자는 이어짐이 끊긴 상태에서 또 나오면 안됩니다.
그러니 문자의 이어짐을 확인하고 새로운 문자가 나왔다면 그 문자가 이전에 나왔던 문자인지 확인하면 됩니다.
alpa는 나왔던 문자를 저장하는 리스트입니다. 새로운 문자가 나왔다면 alpa 안에 그 문자가 있는지 확인합니다.
정말 새로운 문자라면 현재 이어지는 알파벳을 저장하고있는 now 변수에 해당 알파벳을 넣고 새로운 문자이니 alpa리스트에 이 문자를 추가해줍니다.
728x90
반응형
'코딩문제풀이 > 백준' 카테고리의 다른 글
[백준 1427번] 소트인사이드 Python 풀이 (0) | 2021.07.08 |
---|---|
[백준 10828번] 스택 Python 풀이 (0) | 2021.07.07 |
[백준 9012번] 괄호 Python 풀이 (0) | 2021.07.07 |
[백준 11721번] 열 개씩 끊어 출력하기 Python 풀이 (0) | 2021.07.07 |
[백준 10804번] 카드 역배치 Python 풀이 (0) | 2021.07.05 |