반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 20944번 팰린드롬 척화비 자바(Java)

1) 문제번호 : 20944번

 

2) 문제 출처

www.acmicpc.net/problem/20944

 

20944번: 팰린드롬 척화비

흥선이는 팰린드롬을 싫어한다. 어느 날 지구를 정복한 흥선이는 팰린드롬 척화비를 세워, 전 지구의 팰린드롬을 없애버렸다. 그리고 수미상관 순수비를 만들어 수미상관을 널리 퍼뜨렸다. 팰

www.acmicpc.net

 

2. 문제

흥선이는 팰린드롬을 싫어한다. 어느 날 지구를 정복한 흥선이는 팰린드롬 척화비를 세워, 전 지구의 팰린드롬을 없애버렸다. 그리고 수미상관 순수비를 만들어 수미상관을 널리 퍼뜨렸다.

팰린드롬과 수미상관의 정의는 다음과 같다.

  • 팰린드롬 : (앞뒤가 똑같은 팰린드롬~) “u”, “xyx”, “krrk” 같이 뒤집어 읽어도 같은 문자열을 뜻한다.
  • 수미상관 : (앞뒤가 똑같은 수미상관~) “z”, “pqpq”, “astoast” 같이 앞쪽 절반이 뒤쪽 절반과 같은 문자열을 뜻한다. 정확히는, 길이가 N인 문자열이면 길이가 ⌊N2⌋인 접두사와 접미사가 동일한 문자열을 뜻한다.

민수는 팰린드롬의 유구한 역사를 살리고 싶었지만, 여기저기 박힌 팰린드롬 척화비 때문에 그 꿈을 이룰 수 없었다. 그래도 하늘이 무너져도 솟아날 구멍이 있으랴! 민수는 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견한 것이다! 이것은 흥선이의 팰린드롬 척화비에 위배되지 않았고, 민수는 팰린드롬의 유구한 역사를 후대에 남기기 위해 노트 한 켠에 이 사실을 적었다.

미래에 후손들은 민수의 노트를 발견했지만, 시간이 너무 오래 지나버렸다. 민수의 노트는 얼룩과 먼지 때문에 많은 부분을 알아볼 수가 없었다. 오로지 민수가 길이가 N인 수미상관이면서 팰린드롬인 문자열을 발견했다는 사실만을 알 수 있었을 뿐이다.

민수의 후손인 시철이는 민수의 노트가 사실이라 생각했고, 길이가 N인 수미상관이면서 팰린드롬인 문자열을 찾기 위해 공학관에서 밤새 연구를 하고 있다.

민수가 찾은 것은 무엇이었을까?

 

3. 제약사항

4. 입력

다음과 같이 입력이 주어진다.

N

  • 1≤N≤1000000
  • 입력으로 주어지는 모든 수는 정수다.

 

5. 출력

길이가 N이고 알파벳 소문자로 이루어진, 수미상관이면서 팰린드롬인 문자열을 출력한다.

항상 그러한 문자열은 존재하고, 만약 여러 가지가 있다면 그중 하나를 출력한다.

 

6. 풀이

- 만약 여러 가지가 있다면 그중 하나만 출력해도 된다고 했으니, char 배열에 a를 넣어서 출력만 해주면 된다.

7. 소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		char[] arr = new char[N];
		Arrays.fill(arr, 'a');
		System.out.println(arr);
	}
}

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기