1주일동안 못 풀었던 문제이다. 다시 새로보고 풀었다.
import sys
N = int(sys.stdin.readline())
def group_check(word):
for i in range(len(word)-2):
for j in range(i+2, len(word)):
if word[i] == word[j] and word[i] != word[i+1]:
return False
return True
count = 0
for i in range(N):
word= str(sys.stdin.readline().strip())
if group_check(word):
count += 1
print(count)
우선 group_check
라는 함수를 만들어준다. 이 함수는 만약 하나 건너 뛴 단어가 현재의 단어랑 같음과 동시에 현재의 단어와 바로 다음의 단어가 같지 않다면 False
, 이 체크를 통과하면 True
를 반환하는 함수이다. 따라서 이를 각 단어에 대해 체크해주고 만약 True
라면 count
를 하나 더하게 한 후 이를 마지막에 출력하게 한다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 2839번> 파이썬 - 설탕 배달 (0) | 2020.12.02 |
---|---|
<백준 문제풀이: 2231번> 파이썬 - 분해합 (0) | 2020.12.02 |
<백준 문제풀이: 2798번> 블랙잭 - 파이썬 (0) | 2020.12.01 |
<백준 문제풀이: 3053번> 택시 기하학 - 파이썬 (0) | 2020.11.30 |
<백준 문제풀이: 3009번> 네 번째 점 (0) | 2020.11.29 |