알고리즘 문제풀이
늑대와 올바른 단어[백준 13022]
wiojfe
2024. 9. 22. 19:47
https://www.acmicpc.net/problem/13022
규칙에 맞는 문자열을 찾기위해 정규표현식을 사용한다.
finditer를 사용해서 규칙에 맞는 부분들을 추출한다.
import re
def is_valid_wolf(word):
# 정규표현식 패턴: w+, o+, l+, f+ 그룹을 추출
pattern = r'(w+)(o+)(l+)(f+)'
matches = re.finditer(pattern, word)
for match in matches:
w_group, o_group, l_group, f_group = match.groups()
# 각 그룹의 길이가 동일한지 확인
if len(w_group) != len(o_group) or len(o_group) != len(l_group) or len(l_group) != len(f_group):
return 0
# 매칭된 패턴을 제거하고 계속 진행
word = word.replace(match.group(), '', 1)
# 모든 패턴이 처리된 후 남은 문자열이 없어야 올바른 단어
if word:
return 0
return 1
# 입력 받기
word = input().strip()
print(is_valid_wolf(word))