[BOJ 10610] 30 - Java
key points
- 10의 배수는 0으로 끝난다.
- 3의 배수는 각 자리의 수를 더 한 값이 3의 배수이다.
- 1~10의 배수는
배수판정법
이라는 것이 존재한다.
배수판정법
이라는 것이 존재한다.Solution
- 3의 배수 판정을 위해 각 자리의 수를 더한다.
- contains 메서드를 이용해서 0이 포함되어 있는지 확인한다.
- N을 string 으로 받았기에 char 배열로 변환해서 Arrays 패키지에 있는 sort 메서드로 오름차순 정렬을 한다.
- StringBuilder 를 이용해서 맨 끝의 원소부터 다시 정렬해서 출력한다.
Code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main10610 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/* Input */
String N = br.readLine();
/* 3의 배수 판정을 위해 각 자리 숫자를 더함 */
int sum = 0;
for(int i = 0; i < N.length(); i ++) {
sum += N.charAt(i);
}
/* 10의 배수가 아니거나 3의 배수가 아니라면 */
if (!N.contains("0") || sum % 3 != 0) {
System.out.println("-1");
return;
}
char[] array = N.toCharArray();
// 오름차순 정렬
Arrays.sort(array);
StringBuilder sb = new StringBuilder();
// 가장 큰 수를 만들어야 하므로, 맨 끝의 숫자를 맨 앞으로 옮겨서 저장한다.
for(int i = array.length - 1; i >= 0; i--) {
sb.append(array[i]);
}
System.out.println(sb.toString());
br.close();
}
}
Result
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main10610 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/* Input */
String N = br.readLine();
/* 3의 배수 판정을 위해 각 자리 숫자를 더함 */
int sum = 0;
for(int i = 0; i < N.length(); i ++) {
sum += N.charAt(i);
}
/* 10의 배수가 아니거나 3의 배수가 아니라면 */
if (!N.contains("0") || sum % 3 != 0) {
System.out.println("-1");
return;
}
char[] array = N.toCharArray();
// 오름차순 정렬
Arrays.sort(array);
StringBuilder sb = new StringBuilder();
// 가장 큰 수를 만들어야 하므로, 맨 끝의 숫자를 맨 앞으로 옮겨서 저장한다.
for(int i = array.length - 1; i >= 0; i--) {
sb.append(array[i]);
}
System.out.println(sb.toString());
br.close();
}
}
Result
*참고
배수 판정법 이미지 출처 : https://www.onlinemathlearning.com/rules-divisibility.html
Author And Source
이 문제에 관하여([BOJ 10610] 30 - Java), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nari120/BOJ-10610-30-Java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)