문제 출처 : https://www.acmicpc.net/problem/20944
언어 : Kotlin
문제 설명 :
흥선이는 팰린드롬을 싫어한다. 어느 날 지구를 정복한 흥선이는 팰린드롬 척화비를 세워, 전 지구의 팰린드롬을 없애버렸다. 그리고 수미상관 순수비를 만들어 수미상관을 널리 퍼뜨렸다.
팰린드롬과 수미상관의 정의는 다음과 같다.
- 팰린드롬 : (앞뒤가 똑같은 팰린드롬~) “u”, “xyx”, “krrk” 같이 뒤집어 읽어도 같은 문자열을 뜻한다.
- 수미상관 : (앞뒤가 똑같은 수미상관~) “z”, “pqpq”, “astoast” 같이 앞쪽 절반이 뒤쪽 절반과 같은 문자열을 뜻한다. 정확히는, 길이가 N인 문자열이면 길이가 2분의 N인 접두사와 접미사가 동일한 문자열을 뜻한다.
민수는 팰린드롬의 유구한 역사를 살리고 싶었지만, 여기저기 박힌 팰린드롬 척화비 때문에 그 꿈을 이룰 수 없었다. 그래도 하늘이 무너져도 솟아날 구멍이 있으랴! 민수는 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견한 것이다! 이것은 흥선이의 팰린드롬 척화비에 위배되지 않았고, 민수는 팰린드롬의 유구한 역사를 후대에 남기기 위해 노트 한 켠에 이 사실을 적었다.
미래에 후손들은 민수의 노트를 발견했지만, 시간이 너무 오래 지나버렸다. 민수의 노트는 얼룩과 먼지 때문에 많은 부분을 알아볼 수가 없었다. 오로지 민수가 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견했다는 사실만을 알 수 있었을 뿐이다.
민수의 후손인 시철이는 민수의 노트가 사실이라 생각했고, 길이가 N인 수미상관이면서 팰린드롬인 문자열을 찾기 위해 공학관에서 밤새 연구를 하고 있다.
민수가 찾은 것은 무엇이었을까?
입력 :
다음과 같이 입력이 주어진다.
N
출력 :
길이가 N이고 알파벳 소문자로 이루어진, 수미상관이면서 팰린드롬인 문자열을 출력한다.
항상 그러한 문자열은 존재하고, 만약 여러 가지가 있다면 그중 하나를 출력한다.
제한 사항 :
- 시간 제한 : 1초 (추가 시간 없음)
- 메모리 제한 : 1024MB
- 1 ≤ N ≤ 1,000,000
- 입력으로 주어지는 모든 수는 정수다.
입출력 예 :
입력 | 출력 |
1 | a |
3 | sts |
풀이 :
여러 알파벳 소문자가 들어가야할 거 같지만, 항상 그 문자열은 존재하고 그 여러 가지 문자열 중 하나만 출력해도 된다고 했기에 알파벳 소문자 1개만 골라서 N만큼 반복시켜도 된다.
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))
bw.write("a".repeat(readLine().toInt()))
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
29731번: 2033년 밈 투표 (0) | 2024.04.03 |
---|---|
2684번: 동전 게임 (0) | 2024.04.02 |
3076번: 상근이의 체스판 (1) | 2024.04.02 |
1380번: 귀걸이 (0) | 2024.04.01 |
3023번: 마술사 이민혁 (0) | 2024.04.01 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!