CodingTest/Baekjoon
[baekjoon] 백준 10610번(파이썬): 30
JunJangE
2021. 12. 25. 12:00
문제
10610번: 30
어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한
www.acmicpc.net
알고리즘
- 가장 큰 수를 만들기 위해 입력받은 리스트를 오름차순으로 정렬한다.
- 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
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com