BOJ_S3_1213
π [S3_1213] ν°λ¦°λ둬 λ§λ€κΈ°
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// **** input start ****
String str = br.readLine();
// **** input end ****
// μνλ²³ κ°μ μ μ₯ λ°°μ΄
int[] arr = new int[26];
// μ΄ μνλ²³ κ°μ
int sum = str.length();
// κ°μ μ μ₯
for (int i = 0; i < str.length(); i++) {
arr[str.charAt(i) - '0' - 17]++;
}
int cnt = 0;
// λ§μ½ κ°κ°μ μνλ²³μ κ°μκ° νμκ°μΈ κ²μ΄ 2κ° μ΄μμΈ κ²½μ° νλ½
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 1)
cnt++;
}
// μ€ν¨
if (cnt >= 2)
System.out.println("I'm Sorry Hansoo");
else {
String res = "";
// μ§μκ°μΈκ²½μ°
if (sum % 2 == 0) {
for (int i = 0; i < arr.length; i++) {
// μνλ²³μ΄ μμΌλ©΄
if (arr[i] > 0) {
// μνλ²³ κ°μμ λ°νλ§νΌ resμ λ£μ΄μ£Όκ³ λ£μ κ²μ λΉΌμ€λ€
int temp = arr[i] / 2;
for (int j = 0; j < temp; j++) {
res += (char)(i+'A');
arr[i]--;
}
}
}
for (int i = arr.length-1; i >= 0; i--) {
// μνλ²³μ΄ μμΌλ©΄
if (arr[i] > 0) {
// λ€ λ£λλ€
int temp = arr[i];
for (int j = 0; j < temp; j++) {
res += (char)(i+'A');
arr[i]--;
}
}
}
}else { // νμ κ° μΈ κ²½μ°
char c = 0;
// μ€κ°μ νμκ°μΈ κ²μ λ£λλ€.
for(int i=0; i<arr.length;i++) {
if(arr[i] % 2 == 1) {
c=(char)(i+'A');
arr[i]--;
}
}
for (int i = 0; i < arr.length; i++) {
// μνλ²³μ΄ μμΌλ©΄
if (arr[i] > 0) {
// μνλ²³ κ°μμ λ°νλ§νΌ strμ λ£μ΄μ£Όκ³ λ£μ κ²μ λΉΌμ€λ€
int temp = arr[i] / 2;
for (int j = 0; j < temp; j++) {
res += (char)(i+'A');
arr[i]--;
}
}
}
res += c;
for (int i = arr.length-1; i >= 0; i--) {
// μνλ²³μ΄ μμΌλ©΄
if (arr[i] > 0) {
// λ€ λ£λλ€
int temp = arr[i];
for (int j = 0; j < temp; j++) {
res += (char)(i+'A');
arr[i]--;
}
}
}
}
System.out.println(res);
}
} // main end
} // class end
π€ λμ μκ°
보μλ§μ μ΄λ»κ² νκΉ κ³ λ―Όμ λ§μ΄ νλ€..
μκ°ν΄λΈ λ°©λ²μ μ
λ ₯λ°μ String κ°μμ κ° μνλ²³μ κ°μλ₯Ό μ μ₯ν΄μ μμμλΆν° λ€λ‘ μ볡μΌλ‘ κ°μκ° μμΌλ©΄ μΆλ ₯ν΄μ£Όλ κ²μ΄λ€.
λ¨ μνλ²³μ κ°μμ 1/2 λ§νΌ μΆλ ₯ν΄μ€μΌ νλ€. μλλ©΄ μ λ€κ° λ°μΉΌμ½λ§λμ²λΌ κ°μμΌ νκΈ° λλ¬Έ.
κ·Έλ¦¬κ³ λ§μ½ μνλ²³μ μ΄ κ°μκ° νμκ° μΌ λλ νμκ°μ μνλ²³ νλλ₯Ό λ¨Όμ λ°λ‘ λΉΌλμ λμ€μ λ£μ΄μ€μΌ νλ€.
μ΄ κ³Όμ λ€μ μ λ¦¬ν΄ λ³΄κ² λ€.
- λ¨Όμ μνλ²³μ κ°μλ₯Ό λ°°μ΄μ μ μ₯ν΄ μ€λ€.
- λ§μ½ νμκ°μΈ μνλ²³μ κ°μκ° 2κ° μ΄μμΈ κ²½μ° ν°λ¦°λλ‘¬μ΄ λ§λ€μ΄ μ§μ§ μκΈ° λλ¬Έμ βIβm Sorry Hansooβ λ₯Ό μΆλ ₯ν΄μ€λ€.
- λ§μ½ μ‘°κ±΄μ΄ μ±λ¦½νλ€λ©΄ λ κ°μ§ κ²½μ°λ‘ λλμ΄μ μκ°ν΄ μ€λ€.
- μ°μΈ μνλ²³μ κ°μκ° μ§μμΈ κ²½μ°
- μμμ λ€λ‘ κ°λ©΄μ μνλ²³μ κ°μμ 1/2 λ§νΌ μΆλ ₯ν΄μ€λ€.
- λ€μμ μμΌλ‘ μ€λ©΄μ λ¨μ μνλ²³μ λͺ¨λ μΆλ ₯ν΄μ€λ€.
- μ°μΈ μνλ²³μ κ°μκ° νμμΈ κ²½μ°
- μμμ λ€λ‘ κ°λ©΄μ μνλ²³μ κ°μμ 1/2 λ§νΌ μΆλ ₯ν΄μ€λ€.
- μ€κ°μ μνλ²³μ κ°μκ° νμμΈ μνλ²³μ λ°λ‘ μΆλ ₯ν΄μ€λ€.
- λ€μμ μμΌλ‘ μ€λ©΄μ λ¨μ μνλ²³μ λͺ¨λ μΆλ ₯ν΄μ€λ€.
- μ°μΈ μνλ²³μ κ°μκ° μ§μμΈ κ²½μ°
- μ΄λ κ² μΆλ ₯ν΄μ£Όλ©΄ μλμΌλ‘ μ¬μ μμΌλ‘ μμλ κ²μ΄ μΆλ ₯λλ€.