728x90
반응형
BaekJoon 백준 2954 창영이의 일기장 문제는 일기장에 모음('a', 'e', 'i', 'o', 'u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다. 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 2954 창영이의 일기장 문제 정보
출처
- https://www.acmicpc.net/problem/2954
알고리즘 분류
- 문자열 string, 구현
난이도
- 브론즈 1 / Bronze 1
창영이의 일기장 문제 요약
- 창영이는 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a', 'e', 'i', 'o', 'u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다.
- 예를 들어, "kemija"는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다.
- 창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하여 출력한다.
- 알파벳 소문자와 공백으로만 이루어진 문장이 하나 주어진다. 모든 단어는 공백 하나로 구분되어 있다. 문장의 길이는 최대 100이다.
문제 풀이 과정
- 문장을 입력받는다.
- 입력받은 문장을 한 글자씩 탐색하여 모음('a', 'e', 'i', 'o', 'u')을 만나면 결과 리스트에 모음을 저장하고 3칸 뒤의 글자부터 탐색한다.
- 모음이 아니면 결과 리스트에 그대로 저장하고 다음 글자를 탐색한다.
- 탐색이 끝나면 결과 리스트를 출력한다.
코드 및 설명
- rst [] - 원래 문장을 저장하기 위한 리스트
- i - 입력받은 문장의 글자 위치
sentence = input()
rst = []
i = 0
while i < len(sentence):
if sentence[i] in ('a', 'e', 'i', 'o', 'u'):
rst.append(sentence[i])
i += 3
else:
rst.append(sentence[i])
i += 1
print(''.join(rst))
관련된 알고리즘 >
(Brute Force) 브루트포스 알고리즘 - 문자열 패턴 매칭
BaekJoon 백준 2954 창영이의 일기장 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 1268 임시 반장 정하기 (Python / 파이썬) (1) | 2021.08.23 |
---|---|
[BaekJoon] 백준 2999 비밀 이메일 (Python / 파이썬) (0) | 2021.08.22 |
[BaekJoon] 백준 1356 유진수 (Python / 파이썬) (0) | 2021.08.22 |
[BaekJoon] 백준 9455 박스 (Python / 파이썬) (0) | 2021.08.22 |
[BaekJoon] 백준 10769 행복한지 슬픈지 (Python / 파이썬) (0) | 2021.08.22 |
댓글