문제
알고리즘
- 가장 큰 수를 만들기 위해 입력받은 리스트를 오름차순으로 정렬한다.
- join() 함수를 사용하여 정렬한 리스트를 합쳐주어 하나의 수로 만들어준다.
- 이때 수가 30으로 나누어 떨어지면 미르코가 만들고 싶어 하는 가장 큰 수가 되는 것이다.
코드
import sys
n = list(map(str, sys.stdin.readline().strip()))
n.sort(reverse= True) # 가장 큰 수를 만들기 위해 내림차순으로 정렬
n = "".join(n) # 정렬한 수를 합쳐준다.
# 조건문을 통해 수가 30으로 나누어 떨어지면 수를 출력
if int(n) % 30 == 0:
print(n)
# 나누어 떨어지지 않으면 -1 를 출력
else:
print(-1)
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 5525번(파이썬): IOIOI (0) | 2021.12.27 |
---|---|
[baekjoon] 백준 1357번(파이썬): 뒤집힌 덧셈 (0) | 2021.12.26 |
[baekjoon] 백준 1181번(파이썬): 단어 정렬 (0) | 2021.12.24 |
[baekjoon] 백준 1427번(파이썬): 소트인사이드 (0) | 2021.12.23 |
[baekjoon] 백준 11718번(파이썬): 그대로 출력하기 (0) | 2021.12.22 |