몽상실현개발주의

[BOJ] 10610 / 30 / Python 파이썬 본문

Algorithm PS/BOJ

[BOJ] 10610 / 30 / Python 파이썬

migrationArc 2021. 6. 30. 08:49

[BOJ] 10610 / 30 / Python 파이썬

[BOJ] 10610 / 30 / Python 파이썬

https://www.acmicpc.net/problem/10610

 

10610번: 30

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

www.acmicpc.net

 

풀이

주어진 숫자들의 조합으로 가장 큰 30의 배수를 찾는 문제이다.

 

숫자를 정렬하여 0이 포함되는지 확인하고, 나머지 숫자들이 3의 배수인지 확인하였다.

 

3의 배수는 각 자리수를 더한 값이 3의로 나누어 떨어지는 숫자이다.

 

nums = list(map(int, list(input())))

nums.sort(reverse=True)


def check():
    if nums[-1]:
        return -1
    s = sum(nums)
    if s % 3:
        return -1
    return "".join(list(map(str, nums)))


print(check())

 

 

Comments