팰린드롬 만들기 1213

LJM·2023년 10월 6일
0

백준풀기

목록 보기
258/259

https://www.acmicpc.net/problem/1213

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException{

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String input = br.readLine();

        //전부짝수 or 하나만 홀수
        int[] alpha = new int[26];

        for (int i = 0; i < input.length(); i++) {
            char cur = input.charAt(i);
            int j = cur-'A';
            alpha[j]++;
        }

        int oddcnt = 0;
        for (int i = 0; i < 26; i++) {
            if(alpha[i]%2 != 0)
                oddcnt++;

            if(oddcnt > 1)
            {
                System.out.println("I'm Sorry Hansoo");
                return;
            }
        }

        StringBuilder sb = new StringBuilder();
        char oddchar = ' ';
        for (int i = 0; i < 26; i++) {
            if(alpha[i] > 0){

                int len = alpha[i];
                if(len%2 == 1)
                    len--;
                for (int j = 0; j < len/2; j++) {
                    sb.append((char)(i+'A'));
                }

            }

            if(alpha[i] %2 == 1)
                oddchar = (char)(i+'A');
        }


        StringBuilder answer = new StringBuilder();
        answer.append(sb);

        if(oddchar != ' ')
            sb.append(oddchar);

        answer.append(sb.reverse());

        System.out.println(answer);
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글