10610 - 30


📚 10610 - 30


30
 

理解する


30倍の最大数に混ぜればいいです.
30の倍数は端数がゼロで、n位から10位までは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)))
 
採点結果