728x90
코드
n = list(input())
n.sort(reverse=True)
sum = 0
for i in n:
sum += int(i)
if "0" not in n or sum % 3 != 0:
print(-1)
else:
print(''.join(n))
30의 배수가 되기 위한 조건
- 해당 숫자 내에 '0'이 있어야 함(10의 배수 조건, 30도 10의 배수이기 때문)
- 각 자리의 숫자들을 더했을 때 3으로 나누어 떨어져야함(3의 배수 조건)
1. 먼저 숫자를 입력받기위한 n을 입력 받음
2. 가장 큰 수를 찾기위해 내림차순으로 정렬
3. 30의 배수가 되는 조건식 검사
4. 안되면 -1을 리턴하기
문제
'프로그래밍 > 알고리즘' 카테고리의 다른 글
설날 공부(알고리즘-1259, CS스터디) (0) | 2023.01.22 |
---|---|
프로그래머스 - 숫자 문자열과 영단어 파이썬 (0) | 2023.01.20 |
백준 - 10162 전자레인지 파이썬 (1) | 2023.01.16 |
프로그래머스 - 비밀지도 파이썬 (0) | 2023.01.13 |
프로그래머스 - 최대공약수와 최소공배수 파이썬 + 독서 후기 (0) | 2023.01.11 |
댓글