반응형
밑의 링크는 백준에서의 문제 링크입니다.
파이썬 코드와 결과입니다.
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 첫째 줄에 문자열 S를 입력합니다.
# 알파벳 소문자로만 이루어진 문자열이며, 길이는 5000을 넘지 않습니다.
S = stdin.readline().rstrip()
# 피카츄의 pi, ka, chu 음절들을 저장하는 리스트 변수를 선언합니다.
pikachu = ['pi', 'ka', 'chu']
# pi, ka, chu 음절 하나씩 반복해봅니다.
for syllable in pikachu:
# 문자열 S에서 pi, ka, chu 음절들을 공백 하나로 변경합니다.
S = S.replace(syllable, ' ')
# 변경된 문자열 S에서 한 글자씩 반복합니다.
for character in S:
# 현재 글자가 알파벳 a부터 z에 속한다면
if ord('a') <= ord(character) <= ord('z'):
# NO를 출력합니다.
print('NO')
# 반복문을 탈출합니다.
break
# 반복문을 중간에 탈출하지 않고 끝까지 끝낸다면
else:
# YES를 출력합니다.
print('YES')
첫 번째 제출했을 때는 S = S.replace(syllable, ' ') 대신 S = S.replace(syllable, '')를 넣어
kpiakachu와 같은 경우에도 YES를 출력하는 잘못된 코드였습니다. 그리고 틀렸습니다 결과를 보게 되었습니다.
그리고 제가 제출한 코드보다 뭔가 더 간단한 코드로 풀 수 있는 방법이 있는 것 같은데,
아무리 생각해도 도저히 떠오르지 않아 일단 생각나는대로 푼 코드로 풀었습니다.
다른 사람들의 코드를 보고 공부해야겠습니다.
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글