문제
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
'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 |