본문 바로가기
BaekJoon/Silver

[BOJ/JAVA] 백준 1254 : 팰린드롬 만들기 (자바)

by HoonSikE 2022. 4. 8.
반응형
SMALL
문제 정보
  문제명   - 팰린드롬 만들기
  난이도   - 실버 I
문제 번호 - 1254번

문제 링크

BOJ_S1_1254_팰린드롬_만들기

 

1254번: 팰린드롬 만들기

동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는

www.acmicpc.net


문제
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다.
팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다.
동호는 규완이를 위한 깜짝 선물을 준비했다. 동호는 규완이가 적어놓고 간 문자열 S에 0개 이상의 문자를 문자열 뒤에 추가해서 팰린드롬을 만들려고 한다. 동호는 가능하면 가장 짧은 문자열을 만들려고 한다.
동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력하는 프로그램을 작성하시오.

입력
첫째 줄문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.

출력
첫째 줄에 동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력한다.

예제 입력/출력
예제 입력 예제 출력
abab 5
abacaba 7
qwerty 11
abdfhdyrbdbsdfghjkllkjhgfds 38

알고리즘 분류
● 문자열
● 브루트포스 알고리즘

소스코드
package Lv2_Silver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
 * @author HanHoon
 * @category 문자열, 브루트포스 알고리즘
 * https://www.acmicpc.net/problem/1254
 */
public class BOJ_S1_1254_팰린드롬_만들기 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		// 문자열 S
		String S = br.readLine();
		int result = 0;
		
		for (int i = 0; i < S.length(); i++) {
			boolean equal = true;
			for (int j = i, index = 0; j < S.length(); j++, index++) {
				// 1문자라도 다르면 break;
				if(S.charAt(j) != S.charAt(S.length()-1-index)) {
					equal = false;
					break;
				}
			}
			// 문자 좌우가 겹친다면 새로운 문자열 크기 저장 후 break;
			if(equal) {
				result = S.length() + i;
				break;
			}
		}
		System.out.println(result);
		br.close();
	}
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글