-
알고리즘: 백준 10610번 30 (feat. Python)알고리즘/백준(BaekJoon) 2020. 8. 8. 17:55
백준 10610번 링크입니다.
https://www.acmicpc.net/problem/10610
30의 배수가 되기 위한 조건은 어떤수 N이 10의 배수이고 3의 배수인 경우이다.
- N이 10의 배수가 되기 위한 조건 = N안에 0이 포함되어 있으면 성립
- N이 3의 배수가 되기 위한 조건 = N의 모든 자리수를 더했을 때 3의 배수이면 성립
이 두 조건만 성립하면 최대값은 N을 그냥 그대로 내림차순 정렬한 값이다.
import sys input = sys.stdin.readline n = input() num_list = [0 for _ in range(len(n) - 1)] for i in range(len(n) - 1): num_list[i] = int(n[i]) if 0 not in num_list or sum(num_list) % 3 != 0: print(-1) else: num_list.sort(reverse=True) num_str = "" for i in num_list: num_str += str(i) print(num_str)
30 30
102 210
2931 -1
80875542 88755420
반응형'알고리즘 > 백준(BaekJoon)' 카테고리의 다른 글
알고리즘: 백준 1018번 체스판 다시칠하기(feat. c++) (0) 2020.08.18 알고리즘: 백준 1037번 약수(feat. c++) (0) 2020.08.18 알고리즘: 백준 2217번 로프 (feat.Python) (0) 2020.08.08 알고리즘: 백준 1932번 회의실 배정 (feat.Python) (0) 2020.08.08 알고리즘: 백준 11047번 동전0 (feat.Python) (0) 2020.08.08