https://www.acmicpc.net/problem/10610
https://github.com/stellaluminary/Baekjoon
30의 배수라 함은 끝자리가 0으로 하나 이상이 존재해야하고 0을 제외한 각 자리수의 합이 3의 배수가 되어야 한다.
그리고 출력값은 만들고 싶은 수 중 가장 큰 수이므로 숫자를 list로 받아 역순으로 정렬한 뒤 위 조건에 맞는 조건에 한하여 출력하고 그렇지 않다면 -1을 출력하도록 만드는 것이 최선이다.
n = list(map(int, input()))
n.sort(reverse=True)
if n[-1] == 0 and sum(n) % 3 == 0:
print(''.join(map(str, n)))
else:
print(-1)