Jun's Development Journey
[BOJ] 1213번 팰린드롬 만들기 본문
문제
1213번: 팰린드롬 만들기
첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다.
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//선언 및 입력
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String name = br.readLine();
String answer = "";
int[] cnt = new int[26];
int odd_cnt=0;
int midIdx = -1;
for(int i=0;i<name.length();i++) {
cnt[name.charAt(i)-'A']++;
}
for(int i=0;i<cnt.length;i++) {
if(cnt[i]%2!=0) {
midIdx = i;
odd_cnt++;
}
}
//계산
if((name.length()%2!=0 && odd_cnt>1)||(name.length()%2==0 && odd_cnt>0))
System.out.println("I'm Sorry Hansoo");
else {
for(int i=0;i<26;i++) {
for(int j=0;j<cnt[i]/2;j++)
answer+=(char)(i+'A');
}
String rev = (new StringBuffer(answer)).reverse().toString();
if(odd_cnt==1)
answer+=(char)(midIdx+'A');
answer+=rev;
System.out.println(answer);
}
}
}
'BOJ > String' 카테고리의 다른 글
[BOJ] 17413 단어 뒤집기 2 (0) | 2021.04.23 |
---|---|
[BOJ]9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2021.04.08 |
[BOJ] 9012 괄호 (0) | 2021.02.16 |
[BOJ] 8958 OX 퀴즈 (0) | 2021.02.16 |
[BOJ] 4949번 균형잡힌 세상 (0) | 2019.08.26 |