반응형
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 256 MB | 22225 | 8216 | 6425 | 36.578% |
문제
어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다.
미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라.
입력
N을 입력받는다. N는 최대 105개의 숫자로 구성되어 있으며, 0으로 시작하지 않는다.
출력
미르코가 만들고 싶어하는 수가 존재한다면 그 수를 출력하라. 그 수가 존재하지 않는다면, -1을 출력하라.
예제 입력 1
30
예제 출력 1
30
예제 입력 2
102
예제 출력 2
210
예제 입력 3
2931
예제 출력 3
-1
예제 입력 4
80875542
예제 출력 4
88755420
코드
import java.io.*;
public class p10610 {
static BufferedReader br;
static String N;
static int[] arr;
static long len;
public static void main(String[] args) throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
N = br.readLine();
len = N.length();
arr = new int[10];
long total = 0;
for (int i = 0; i < len; ++i) {
int tNum = Integer.parseInt(N.substring(i, i + 1));
arr[tNum] += 1;
total += tNum;
}
if (!N.contains("0") || total % 3 != 0) {
System.out.println("-1");
return;
}
for(int i = 9; i >= 0; i--) {
while(arr[i] > 0) {
System.out.print(i);
arr[i]--;
}
}
}
}
반응형
'알고리즘 > [ Baekjoon ]' 카테고리의 다른 글
[ BOJ ][JAVA][10799] 쇠막대기 (0) | 2021.04.28 |
---|---|
[ BOJ ][JAVA][10798] 세로읽기 (0) | 2021.04.28 |
[ BOJ ][JAVA][10451] 순열 사이클 (0) | 2021.04.28 |
[ BOJ ][JAVA][10430] 나머지 (0) | 2021.04.28 |
[ BOJ ][JAVA][9613] GCD 합 (0) | 2021.04.28 |