Dev.baelanche

[백준 10610] 30 본문

Data Structure & Algorithm/PS - JAVA

[백준 10610] 30

baelanche 2019. 5. 31. 16:13
반응형

 

 

30의 배수인지를 확인하려면 두가지를 검사하면 된다.

1. 수에 0이 적어도 1개 있어야 한다.

2. 각 자리수의 합이 3의 배수여야 한다.

 

위 두가지를 만족한다면 각 자리수를 내림차순으로 정렬하여 출력해주면 된다.

 

 

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        char c[] = sc.next().toCharArray();
        Integer a[] = new Integer[c.length];
        for(int i=0; i<a.length; i++)
            a[i] = c[i] - '0';
        
        boolean zero = false;
        int sum = 0;
        for(int i=0; i<c.length; i++) {
            sum += c[i] - '0';
            if(c[i] - '0' == 0) zero = true;
        }
        
        Arrays.sort(a, new Comparator<Integer>() {
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        
        if(sum % 3 == 0 && zero) {
            for(int i=0; i<a.length; i++)
                System.out.print(a[i]);
        } else System.out.println(-1);
    }
}
반응형

'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글

[백준 1946] 신입 사원  (0) 2019.05.31
[백준 2455] 지능형 기차  (0) 2019.05.31
[백준 14502] 연구소  (0) 2019.05.29
[백준 1182] 부분수열의 합  (0) 2019.05.29
[백준 11004] K번째 수  (0) 2019.05.29
Comments