10610 30
업데이트:
1. 문제
문제는 링크에 들어가면 있다.
2. 정답 코드
문제의 내 정답 코드는 다음과 같다.
import sys
read = sys.stdin.readline
N = [i for i in read()]
N.pop()
if not str(0) in N:
print(-1)
else :
summation = 0
for j in N :
summation += int(j)
if summation % 3 == 0 :
N.sort(reverse=True)
print(''.join(N))
else :
print(-1)
3. 문제 풀이
3의 배수는 각자리의 합이 3의 배수인 것만을 기억하면 쉽게 풀 수 있는 문제다.
문제를 조건을 나누면 되는데,
- 30의 배수가 되려면 일단 무조건 0이 필요하므로 0이 없으면 30의 배수가 될 수 없음
- 1의 자리에 0을 배치한다 생각하고, 각 자리의 합이 3의 배수면 이것은 30의 배수가 될 수 있다.
- 그 외에는 -1을 출력