파이썬 백준 1316번
실버 5
https://www.acmicpc.net/problem/1316
문제 보기
분류: 구현, 문자열
문제 풀기
맨 왼쪽 문자를 빼내고 그 다음 문자와 비교한다. 서로 같은 문자이면 일단 조건문을 통과하고, 만약 다른 문자가 나올때 그 남은 문자 묶음에서 빼어낸 문자가 있는지 확인한다. 있다면 return 0 으로 함수를 종료한다.
word 의 단어가 1개 남을때까지 조건 (그룹 단어가 안되는 조건) 을 만족하지 않았다면 return 1 을 내보낸다.
테스트 단어의 개수만큼 loop 를 돌려 return 1 이 되는 그룹 단어의 count 를 누적한다.
코드 보기
import sys
inputdata = sys.stdin.readline
from collections import deque
def fnIsGroupWord(word):
for i in range(len(word) - 1):
w = word.popleft()
if w != word[0] and w in word:
return 0
return 1
if __name__ == "__main__":
n = int(inputdata().strip())
count = 0
for _ in range(n):
word = deque(map(str, inputdata().strip()))
count += fnIsGroupWord(word)
print(count)
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 1475 - 방 번호 (0) | 2022.12.26 |
---|---|
[Python] 백준 풀기 5800 - 성적 통계 (0) | 2022.12.25 |
[Python] 백준 풀기 2720 - 세탁소 사장 동혁 (0) | 2022.12.23 |
[Python] 백준 풀기 14719 - 빗물 (0) | 2022.12.22 |
[Python] 백준 풀기 1439 - 뒤집기 (0) | 2022.12.21 |