코딩하는 해맑은 거북이
[Python] 30 - 백준 본문
해당 글은 백준 10610번 문제 '30'을 다룬다.
문제
https://www.acmicpc.net/problem/10610
설명
숫자들을 조합해서 30의 배수가 될 수 있는 가장 큰 값을 출력하는 문제이다.
30의 배수는 10의 배수와도 같으므로 숫자들에 0이 꼭 포함되어 있어야 한다.
그리고 30의 배수는 10으로 나누면 3의 배수와도 같으므로 3, 6, 9, 12(1+2=3), 15(1+5=6), 18(1+8=9), ... 와 같이 숫자들의 총 합이 3의 배수여야 하는 규칙이 있다. 이를 이용해서 해당 문제를 풀어주면 된다.
코드
n = list(map(int, input()))
if n.count(0) != 0 and sum(n) % 3 == 0:
n.sort(reverse=True)
for i in n:
print(i, end='')
else:
print(-1)
'코딩테스트' 카테고리의 다른 글
[Python] 계단 오르기 - 백준 (DP) (0) | 2022.12.21 |
---|---|
[Python] 사탕 게임 - 백준 (완전탐색) (0) | 2022.12.21 |
[Python] 카드2 - 백준 (0) | 2022.12.20 |
[Python] 1로 만들기 - 백준 (DP) (0) | 2022.12.20 |
[Python] 소수 구하기 - 백준 (0) | 2022.12.19 |
Comments