비밀번호 발음하기 실버5 (백준, 문자열)
2023. 1. 31. 12:24ㆍ코딩 테스트 준비
728x90
반응형
import sys
vowel = {'a', 'e', 'i', 'o', 'u'}
while (1):
test = sys.stdin.readline().rstrip()
if test == 'end':
break
pw = list(test)
v_flag = 0 # 모음 존재하는지 확인
v_cnt = 0 # 모음 3개 연속인지 확인
c_cnt = 0 # 자음 3개 연속인지 확인
err = 0 # 같은 문자 연속 2개 or 자음/모음 연속 3개인 경우 1
for i in range(len(pw)):
if i > 0:
if pw[i] == pw[i - 1]:
if pw[i] != 'e' and pw[i] != 'o':
err = 1
break
if pw[i] in vowel:
v_flag = 1
v_cnt += 1
c_cnt = 0
if v_cnt == 3:
err = 1
break
else:
v_cnt = 0
c_cnt += 1
if c_cnt == 3:
err = 1
break
if (err != 1) and (v_flag == 1):
print("<" + test + "> is acceptable.")
else:
print("<" + test + "> is not acceptable.")
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
카드 구매하기 실버1 (백준, DP) (0) | 2023.02.01 |
---|---|
LCS 골드4 (백준, DP) (0) | 2023.01.31 |
0 만들기 골드5 (백준, 구현) (0) | 2023.01.31 |
연속합 실버2 (백준, DP) (0) | 2023.01.31 |
해킹 골드4 (백준, 다익스트라) (0) | 2023.01.30 |