반응형
문제
https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
코드
n = int(input())
cnt = n
for _ in range(n):
text = input()
for i in range(0, len(text)-1):
if text[i] == text[i+1]:
pass
elif text[i] in text[i+1:]:
cnt -= 1
break
print(cnt)
설명
우선 단어의 개수를 입력 받아준다.
그리고 그룹 단어가 아닌 수를 빼주기 위해서 cnt는 n으로 설정해준다.
이후 n의 개수만큼 단어를 입력받아서 그룹 단어를 체크해 줄 것인데,
우선 단어의 수 - 1만큼 반복해준다.(마지막 단어는 체크할 필요가 없으므로)
이후 조건에 따라 체크를 해 줄 것인데,
우선 중복해서 나오는 텍스트 중 가장 마지막 텍스트로 이동하기 위해
text[i] 와 text[i+1] 이 같다면 pass 해준다. (cccacc의 순이라면 3번째 c까지 이동한다는 의미이다.)
그 다음 만약 그 문자가 다음에도 또 나오게 된다면 그룹 단어가 아니므로(cccacc의 경우 3번째 c 뒤에 또 c가 나오므로)
cnt에서 1을 빼주고 더 진행할 필요가 없으므로 break 해준다.
최종적으로 cnt를 출력해준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 4673: 셀프 넘버 (0) | 2022.12.10 |
---|---|
[파이썬, Python] 백준 15596: 정수 N개의 합 (2) | 2022.12.09 |
[파이썬, Python] 백준 2941: 크로아티아 알파벳 (0) | 2022.12.07 |
[파이썬, Python] 백준 5622: 다이얼 (0) | 2022.12.06 |
[파이썬, Python] 백준 2908: 상수 (0) | 2022.12.05 |