링크 : https://www.acmicpc.net/problem/10610
- 문제
- 소요시간 : 11분 8초



- 설계하기(접근방법)
1. 숫자 입려받기
2. 알고리즘 설계
1) 30의 배수가 가진 특징은?
3의 배수, 10의 배수이다
즉, 먼저 각자리수의 합을 더했을 때 3의 배수가 아니면 -1을 출력
그리고, 주어진 숫자에 0이 없다면 -1을 출력한다.
2) 이 조건을 통과한 숫자는 내림차순 출력해서 0으로 마무리하면 원하는 숫자가 나올 것이다
- 코드(출력)
n = list(map(int, str(input())))
total = sum(n)
if (total % 3 != 0):
print(-1)
elif 0 not in n:
print(-1)
else:
n.sort(reverse=True)
for i in n:
print(i, end='')
- 얻어갈 부분
1. sort 함수와 인자 reverse 익숙해지기
2. print 함수의 end 인자 익숙해지기
3. 입력받은 숫자를 정수 하나씩 list 로 선언하고 싶은 경우, str(input())을 사용하면 된다
'알고리즘(백준) > 그리디' 카테고리의 다른 글
| [알고리즘/그리디] 1439 번 : 뒤집기 - python (0) | 2023.02.24 |
|---|---|
| [알고리즘/그리디] 1931 번 : 회의실 배정 - python (0) | 2023.02.22 |
| [알고리즘/그리디] 13305번 : 주유소 - python (0) | 2023.02.21 |
| [알고리즘/그리디] 10162번 : 전자레인지 - python (0) | 2023.02.21 |
| [알고리즘/그리디] 1541번 : 잃어버린 괄호 - python (0) | 2023.02.20 |