30의 배수를 판단해야 한다.
1의 자리가 0으로 끝나야 하고 모든 자리수의 수를 다 더했을 경우 3의 배수가 되어야 한다.
그리고 만들 수 있는 수중 가장 큰 수를 만들어줘야하는 옵션이 있다.
n = input()
arr=[]
# 배열로 바꾸기
for i in n:
arr.append(i)
sum = 0
# 각 자릿수의 수 합 구하기
for i in arr:
sum+=int(i)
# 30의 배수인지 판단
if '0' in arr and sum%3==0:
# 가장 큰수를 만들어 줘야 함으로 내림차순 정렬
arr.sort()
arr = arr[::-1]
# 정답 출력
for j in arr:
print(j,end="")
else:
print(-1)
https://www.acmicpc.net/problem/10610
'백준' 카테고리의 다른 글
뒤집기 - 백준 1439번 (0) | 2022.07.25 |
---|---|
수들의 합 - 백준 1789번 (0) | 2022.06.28 |
로프 - 백준 2217번 (0) | 2022.06.25 |
동전 0 - 백준 11047번 (0) | 2022.06.23 |
잃어버린 괄호 - 백준 1541 (0) | 2022.06.22 |
댓글