![1254번: 팰린드롬 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0D7Ri%2FbtsC4uKuQ51%2F9xjQbzbjiAlWx8sPh9n1oK%2Fimg.png)
![스몰스테핑](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
1254번: 팰린드롬 만들기백준/문제2024. 1. 8. 14:34
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/1254
1254번: 팰린드롬 만들기
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는
www.acmicpc.net
언어 : Kotlin
문제 설명 :
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다.
동호는 규완이를 위한 깜짝 선물을 준비했다. 동호는 규완이가 적어놓고 간 문자열 S에 0개 이상의 문자를 문자열 뒤에 추가해서 팰린드롬을 만들려고 한다. 동호는 가능하면 가장 짧은 문자열을 만들려고 한다.
동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.
출력 :
첫째 줄에 동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력한다.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
abab | 5 |
abacaba | 7 |
qwerty | 11 |
abdfhdyrbdbsdfghjkllkjhgfds | 38 |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val str = readLine()
var length = str.length
for (i in str.indices) {
var start = i
var end = str.length - 1
while (start < end && str[start] == str[end]) { start++; end-- }
if (start >= end) { length += i; break }
}
bw.write("$length")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
1958번: LCS 3 (0) | 2024.01.09 |
---|---|
11328번: Strfry (0) | 2024.01.08 |
10822번: 더하기 (0) | 2024.01.05 |
5218번: 알파벳 거리 (1) | 2024.01.05 |
1371번: 가장 많은 글자 (0) | 2024.01.05 |
![스몰스테핑](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!