[백준/파이썬] 10610번

민정·2023년 9월 13일
0

[백준/파이썬]

목록 보기
170/245
post-thumbnail

📍백준 10610번 문제

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

코드

import sys

input = sys.stdin.readline

n = input().rstrip('\n')

temp = 0
num_list = []

for i in n:
    num_list.append(int(i))

num_list = sorted(num_list, reverse=True)
if sum(num_list) % 3 != 0:
    print(-1)
elif num_list[-1] != 0:
    print(-1)
else:
    res = ''.join(map(str, num_list))
    print(res)

풀이

30의 배수를 찾기 위해선 3의 배수이자 10의 배수인 수를 찾으면 된다.
10의 배수는 일의 자리가 0이면 된다.
3의 배수는 모든 자리의 숫자의 합이 3의 배수이면 된다.
가장 큰 30의 배수는 내림차순을 한 값이므로 입력받은 수를 내림차순으로 정렬하여 맨 마지막 값이 0이 아니거나 숫자의 합이 3으로 나눠지지 않는다면 30의 배수가 아니므로 -1을 출력한다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글