DHistory

[Baekjoon] Greedy - 10610 30 본문

Computer Science/Algorithm

[Baekjoon] Greedy - 10610 30

ddu0422 2023. 8. 16. 11:27

문제

 

10610번: 30

어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한

www.acmicpc.net

 

풀이

"""
30의 배수가 되기 위한 조건
1. 모든 수의 합이 3의 배수일 것
2. 0이 포함되어 있어야할 것
"""
n = int(input())


def solution(n):
    numbers = sorted(list(map(int, str(n))), reverse=True)
    
    if 0 in numbers and sum(numbers) % 3 == 0:
        return numbers
    
    return [-1]


print(*solution(n), sep='')

 

채점 결과