섞어서 30의 배수가 되는 가장 큰 수를 만들면 된다.
30의 배수는 곧 끝자리가 0이고, n번째 자리부터 십의 자리까지는 3의 배수이다.
그리고, n이 3의 배수인지 확인하기 위해서는 각자리 수를 모두 더했을 때 3의 배수여야 한다.
import sys
read = sys.stdin.readline
n = list(read().strip())
if not n.count('0'):
print(-1)
else:
n = list(map(int, n))
if sum(n) % 3:
print(-1)
else:
n.sort(reverse=True)
print(''.join(map(str, n)))
채점 결과