이번 문제는 쉽게 표현해서
입력받은 개수만큼의 문자열 중에서
반복되는 문자가 없거나, 혹은 있지만 떨어져 있지 않고 붙어 있는 문자열일 경우에만 '그룹 단어'라고 부르는데
이 그룹 단어의 개수를 출력하면 되는 것이다
num = int(input())
count = 0
for _ in range(num):
word = input()
error = 0
for i in range(len(word)-1):
if word[i] != word[i+1]:
new_word = word[i+1:]
if new_word.count(word[i]) > 0:
error += 1
if error == 0:
count += 1
print(count)
정답 코드가 조금 복잡해 보이지만
word에 i 번째 문자와 i+1 번째 문자를 비교해서
만약 두 문자가 다르다면 i 번째 문자 이후의 문자열을([i+1:]) 새롭게 저장한 뒤
i 번째 문자에 해당하는 알파벳이 새롭게 저장한 문자열 속에 있는지 확인한다
만약 존재한다면 if 문 안에 있는 count 함수의 반환값이 1 이상이 될 테고,
그렇게 되면 error 값을 올려서 count 수가 올라가지 않도록 코딩한 것이다
'코딩 테스트 > 백준 파이썬 문제 풀이' 카테고리의 다른 글
[백준 2292번 파이썬] 벌집 (0) | 2022.04.02 |
---|---|
[백준 1712번 파이썬] 손익분기점 (0) | 2022.04.02 |
[백준 2941번 파이썬] 크로아티아 알파벳 (0) | 2022.04.02 |
[백준 5622번 파이썬] 다이얼 (0) | 2022.04.02 |
[백준 2908번 파이썬] 상수 (0) | 2022.04.02 |