문제
문제해결
import java.util.Scanner;
public class B1213 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.next();
int size = input.length();
int[] alp = new int[26];
for(int i=0;i<size;i++)
alp[input.charAt(i)-'A']++;
int cnt = 0;
int center = 0;
for(int i=0;i<26;i++)
if(alp[i]%2!=0) {
center = i;
cnt++;
}
if(cnt>1 || (cnt==1 && size%2==0)) {
System.out.print("I'm Sorry Hansoo");
return;
}
StringBuffer result = new StringBuffer();
for(int i=0;i<26;i++)
for(int j=0;j<alp[i]/2;j++)
result.append((char)(i+'A'));
StringBuffer tmp = new StringBuffer(result.toString());
if(cnt==1) result.append((char)(center+'A'));
System.out.println(result.toString()+tmp.reverse());
}
}
1. 각 알파벳 갯수를 구한다
2. 갯수가 홀수인 알파벳은 0이거나 1이어야 한다
3. 1일 경우 문자열 길이는 홀수여야 되고 해당 알파벳은 무조건 가운데에 있어야 한다
4. 먼저 알파벳 순서대로 출력, 가운데 문자 출력, 뒤집은 알파벳을 출력하면 된다
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 20291 파일 정리 (0) | 2021.03.13 |
---|---|
자바 - 구현 - 백준 1063 킹 (0) | 2021.03.12 |
자바 - 구현 - 백준 2998 8진수 (0) | 2021.03.10 |
자바 - 구현 - 백준 20113 긴급 회의 (0) | 2021.03.09 |
자바 - 구현 - 백준 2960 에라토스테네스의 체 (0) | 2021.03.08 |