세상을 바꾸는 데이터

[백준 10610번] 30 - 파이썬 본문

PS Study/BOJ(백준)

[백준 10610번] 30 - 파이썬

Industriousness 2022. 1. 20. 23:20

문제 링크:

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

 

10610번: 30

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

www.acmicpc.net

 

  • 30의 배수는 곧 3의 배수와 같은 말이다. 
  • 어떤 수가 3의 배수가 되려면 수에 0이 포함되고, 각 자리 숫자의 합이 3의 배수가 되야 한다.
  • 리스트에 있는 숫자를 문자로 변환하려면  . join을 이용하면 된다.

 

<풀이>

# 10610번 30
# 3의 배수 조건은 일의 자리가 0이거나 각 자리 수의 합이 3으로 나누어 떨어져야 함.


n = list(input())
n.sort(reverse=True)
sum = 0
for i in n:
    sum += int(i)
if sum % 3 != 0 or "0" not in n:
    print(-1)
else:
    print(''.join(n))

 

[백준 10610번] 30 - 파이썬

728x90
반응형
Comments