2954번: 창영이의 일기장백준/문제2024. 2. 27. 11:43
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/2954
언어 : Kotlin
문제 설명 :
창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다. 일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다. 또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i','o','u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다.
예를 들어, "kemija" 는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다.
창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 프로그램을 작성하시오.
입력 :
첫째 줄에 알파벳 소문자와 공백으로만 이루어진 문장이 하나 주어진다. 모든 단어는 공백 하나로 구분되어져 있다. 문장의 길이는 최대 100이다.
출력 :
첫째 줄에 창영이가 일기장에 작성한 문장을 원래 문장으로 바꾸어 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
zepelepenapa papapripikapa | zelena paprika |
bapas jepe doposapadnapa opovapa kepemipijapa | bas je dosadna ova kemija |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val arr = arrayOf('a', 'e', 'i', 'o', 'u')
val sb = StringBuilder()
val input = readLine()
var idx = 0
while (idx < input.length) {
var check = false
for (i in arr.indices) {
if (input[idx] == arr[i]) check = true
}
if (check) {
sb.append("${input[idx]}")
idx += 3
} else {
sb.append("${input[idx]}")
idx++
}
}
bw.write(sb.toString())
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
1296번: 팀 이름 정하기 (0) | 2024.02.28 |
---|---|
2998번: 8진수 (0) | 2024.02.27 |
17863번: FYI (1) | 2024.02.27 |
14405번: 피카츄 (1) | 2024.02.26 |
2671번: 잠수함식별 (1) | 2024.02.26 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!