시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class Back_10610 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String val = br.readLine();
int sum=0;
ArrayList<Integer> arr = new ArrayList<Integer>();
for (int i = 0; i < val.length(); i++) {
int tmp=val.charAt(i)-'0';
sum+=tmp;
arr.add(tmp);
}
Collections.sort(arr);
if(arr.get(0)!=0 || sum%3!=0) {
System.out.println(-1);
System.exit(0);
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.size(); i++) {
sb.append(arr.get(arr.size()-i-1));
}
System.out.println(sb);
}
}
※ 내 생각
30의 배수를 확인하는 문제입니다.
30의 배수의 특징은 0이 꼭 하나 이상 포함되어 있고, 3의 배수에 포함이 되면 됩니다.
따라서 ArrayList에 담기 전에 변수를 만들어서 더해주고, 0이 포함이 되어 있는지 3의 배수인지 확인을 해줍니다.
해당이 되지 않는다면, -1을 출력하여 끝내고
해당이 된다면 정렬된 상태에서 순차적으로 출력을 진행하면 됩니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_3107 IPv6 (자바) / 문자열 (0) | 2021.09.26 |
---|---|
백준_1292 쉽게 푸는 문제(자바) / 구현 (0) | 2021.09.24 |
백준_1966 프린터 큐(자바) / 구현 (0) | 2021.09.15 |
백준_1476 날짜 계산(자바) / 구현 (0) | 2021.09.14 |
백준_14500 테트로미노(자바) / 구현 & DFS (0) | 2021.09.11 |