BOJ_S4_10610
π [S4_10610] 30
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));
StringBuilder sb = new StringBuilder();
// **** input start ****
String num = br.readLine();
// **** input end ****
// μ«μ μ μ₯ λ°°μ΄
int[] numArr = new int[10];
// μ΄ ν© ( 3μ λ°°μ μ²΄ν¬ )
int total = 0;
// μ«μ κ°μ 체ν¬, total ν© κ΅¬ν΄μ£ΌκΈ°
for(int i=0; i<num.length(); i++) {
int temp = num.charAt(i)-'0';
numArr[temp]++;
total += temp;
}
// λ§μ½ 3μ λ°°μ κ° μλκ³ 30μ λ°°μκ° μλκ²½μ° ν΅κ³Ό
if(total % 3 !=0 || numArr[0] == 0) {
sb.append("-1");
}
// μ‘°κ±΄μ΄ λ§μ‘±νλ©΄
else {
// λ°λλ‘ νμνλ©΄μ μ«μκ° μμΌλ©΄ κ°μ μΆλ ₯ν΄μ€λ€.
for(int i=numArr.length-1;i>=0;i--) {
while(numArr[i]>0) {
sb.append(i);
numArr[i]--;
}
}
}
System.out.println(sb);
} // main end
} // class end
π€ λμ μκ°
νμ°.. μ½κ° λ¬Έμμ΄ λ¬Έμ λ€μ κ²°μ΄ λΉμ·ν κ² κ°λ€.
μ«μμ λΉλλ₯Ό λ°°μ΄μ μ μ₯ν΄μ κ°μ ꡬν΄λκ°λ?
κ·Έ μ λ¬Έμ μ λΉμ·ν λΆλ₯μμ§λ§ νμ§ λͺ»νλ€. λ κ²°κ³Όλ§ λ³΄κ³ λλ©΄ λ무 μ΄λ ΅κ² μκ°νλ€.
μ²μμ μ¬κ·λ₯Ό ν΅ν΄μ λͺ¨λ μ«μλ₯Ό νμνλ©° 30μΌλ‘ λλμ΄ λ¨μ΄μ§λ©΄ κ°μ ꡬνκ² νλλ° Nμ λ²μκ° λ무 ν¬λ€ 보λ μ±κ³΅νμ§ λͺ»νλ€.
μ°Ύμ보λ 3μ λ°°μμ κ·μΉμ΄ μμλ€.. μ΄κ²μ λμ³€λ€.
3μ λ°°μλ κ° μ리μ ν©λ€μ΄ 3μ λ°°μμ΄κ³ 30μ λ°°μλ 0μ΄ μ‘΄μ¬ν΄μΌνλ€. 30μ λ°°μλ μΊμΉ νμλλ° 3μ λ°°μλ.. γ
μμΌλ‘ μ λͺ¨λ₯΄κ² μΌλ©΄ 무쑰건 λμ΄νκ³ λ΄μΌκ² λ€.
λ¬Έμ λ λ€μκ³Ό κ°μ΄ νμλ€.
- μ΄λ€ μ«μ ( 0~9 ) κ° λͺκ° λμ¨μ§ μΉ΄μ΄ν ν΄μ£Όλ λ°°μ΄ μμ±
- μ λ ₯λ°μ κ°μ λ°°μ΄μ μλ§κ² κ°μ λ£μ΄μ€λ€
- κ°μ λ£μ΄μ£Όλ©΄μ totalμ κ΅¬ν΄ 3μ λ°°μμΈμ§ 체ν¬νλ€.
- λ°°μ΄κ°μ ν΅ν΄ 0μ΄ μλμ§ μλμ§ μ²΄ν¬ν΄μ 30μ λ°°μμΈμ§ 체ν¬νλ€.
- 쑰건μ λΆν©νμ§ μμΌλ©΄ β-1β μΆλ ₯
- 쑰건μ λΆν©νλ©΄ μ«μ λ°°μ΄μ λ°λλ‘ νμνλ©΄μ λ°°μ΄κ°μ΄ 0보λ€ν¬λ©΄ 0μΌλ κ°μ§ μΆλ ₯ν΄μ€λ€.
- μμλλ‘ μΆλ ₯νλ©΄ κ°μ₯ ν° κ°μ΄ λμ¨λ€.