문제
창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다. 일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다. 또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i','o','u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다.
예를 들어, "kemija" 는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다.
창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 알파벳 소문자와 공백으로만 이루어진 문장이 하나 주어진다. 모든 단어는 공백 하나로 구분되어져 있다. 문장의 길이는 최대 100이다.
출력
첫째 줄에 창영이가 일기장에 작성한 문장을 원래 문장으로 바꾸어 출력한다.
예제 입력 1 복사
zepelepenapa papapripikapa
예제 출력 1 복사
zelena paprika
예제 입력 2 복사
bapas jepe doposapadnapa opovapa kepemipijapa
예제 출력 2 복사
bas je dosadna ova kemija
문제풀이
\\1은 1번으로 매칭된 그룹을 가져오는 것
(자바스크립트에서는 $1)
즉 (a|e|i|o|u)에서 (a) or (e) or (i) or (o) or (u) 그룹으로 가져와서 apa, epe 등으로 대체할 수 있음
import re
string_list = input()
regex = re.compile("(a|e|i|o|u)p(a|e|i|o|u)");
print(re.sub(regex, "\\1", string_list))
'코테풀이 > 문자열' 카테고리의 다른 글
[백준 | 브론즈2] 니모를 찾아서(정규식-대소문자 구분없이 단어 찾기) (0) | 2022.03.28 |
---|---|
[백준 | 브론즈1] 버그왕(정규식, 재귀-단어 없애기) (0) | 2022.03.28 |
[백준 | 브론즈2] 2857: FBI(정규식-특정단어의 앞뒤 단어 찾기) (0) | 2022.03.27 |
[백준 | 브론즈2] 1264번: 모음의 개수(정규식-한글자 찾기) (0) | 2022.03.27 |
[백준 | 골드4] 9935번: 문자열 폭발(스택, 정규식, 단어길이만큼비교) (0) | 2022.03.27 |
[백준 | 브론즈1] 2954번 창녕이의 일기장(정규식-단어치환)