alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 10610 30_파이썬 본문
10610 30 www.acmicpc.net/problem/10610
문제 풀기 전 공부할 것 : 수학, 정렬, 정수론
풀이
<내용>
- 30의 배수가 되려면 10의 배수인지, 3의 배수인지를 확인하면 된다.
- 10의 배수 확인 방법 : 일의 자리 숫자가 0이면 된다.
- 3의 배수 확인 방법 : 모든 자리 숫자의 합이 3으로 나누어 떨어지면 된다.
- 이때 가장 큰 30의 배수는 큰 숫자대로 정렬하는 것이다.
<코드>
n = int(input())
nums = list(str(n))
nums.sort(reverse=True)
def solve(nums):
if nums[-1] != '0':
return -1
if sum(map(int, nums)) % 3 != 0:
return -1
return int(''.join(nums))
print(solve(nums))
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 9086 문자열_파이썬 (0) | 2020.10.17 |
---|---|
[알고리즘][Python] 백준(BOJ) 1259 팰린드롬수_파이썬 (0) | 2020.10.16 |
[알고리즘][Python] 백준(BOJ) 1969 DNA_파이썬 (0) | 2020.10.14 |
[알고리즘][Python] 백준(BOJ) 2607 비슷한 단어_파이썬 (0) | 2020.10.13 |
[알고리즘][Python] 백준(BOJ) 1940 주몽_파이썬 (0) | 2020.10.12 |
Comments