본문 바로가기
백준

30 - 백준 10610번

by 청원뿔세포 2022. 6. 26.

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

 

10610번: 30

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

www.acmicpc.net

 

'백준' 카테고리의 다른 글

뒤집기 - 백준 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

댓글