32132번: PlayStation이 아니에요백준/문제2024. 8. 23. 14:31
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/32132
언어 : Kotlin
문제 설명 :
오늘도 피돌이는 백준에서 PS를 하고 있다. 하지만 PS라는 이름의 특성상 PlayStation으로 오해를 받고는 한다.
게시판에 글을 작성하던 중, 문득 피돌이는 문자열에 "PS4" 혹은 "PS5"를 부분 문자열로 포함하면 사람들이 PlayStation에 대한 얘기로 오해한다는 것을 깨달았다. 피돌이는 이러한 오해를 받지 않기 위해 자신이 작성하던 문자열에서 "PS4" 혹은 "PS5"가 보인다면 "PS4" 혹은 "PS5"가 나타나지 않을 때까지 숫자를 지워 문자열을 변경하기로 했다.
문자열이 주어졌을 때, "PS4" 혹은 "PS5"가 나오지 않을 때까지 문자열에서 숫자를 지워 출력하여라. 만약 만족하는 문자열이 여러 개라면, 그중 가장 긴 문자열을 출력한다.
입력 :
첫째 줄에 문자열의 길이를 나타내는 정수 N이 주어진다. (1 ≤ N ≤ 50)
둘째 줄에 문자열이 주어진다. 문자열은 영문 대문자와 숫자로만 이루어져 있다.
출력 :
첫째 줄에 피돌이가 문자열을 고치고 난 뒤의 문자열을 출력한다. 만약 만족하는 문자열이 여러 개라면, 그중 가장 긴 문자열을 출력한다.
가능한 모든 입력에 대해 가장 긴 문자열이 존재하며 유일함을 증명할 수 있다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
14 ILOVEPS5PSPS4A |
ILOVEPSPSPSA |
6 PS4564 |
PS64 |
풀이 :
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 n = readLine().toInt()
var str = readLine()
while (true) {
if (str.contains("PS4") || str.contains("PS5")) {
str = str.replace("PS4|PS5".toRegex(), "PS")
} else {
break
}
}
bw.write(str)
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
30822번: UOSPC 세기 (0) | 2024.08.26 |
---|---|
13264번: 접미사 배열 2 (0) | 2024.08.23 |
200973번: Uddered but not Herd (0) | 2024.08.22 |
27257번: Любитель нулей (0) | 2024.08.22 |
10935번: BASE64 인코딩 (0) | 2024.08.22 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!