10610 30 - Python
2023. 12. 10. 04:37ㆍ공부/📝 백준
1. 풀이 코드
num = input()
num_list = []
for i in num:
num_list.append(int(i))
num_list.sort(reverse=True)
if sum(num_list) % 3 != 0 or num_list[-1] != 0:
print(-1)
else:
result = ''.join(map(str, num_list))
print(result)
3의 배수는 각 자리의 합이 3의 배수가 된다는 성질을 이용했습니다.
2. 다른 사람 풀이 코드
print([x:=int("".join(sorted(input())[::-1])),-1][x%30>0])
정말 잘 풀었네요. 특히 감탄한 부분은 x := 를 통해 변수 x에 값을 할당한 뒤에 [x, -1] 리스트를 만들어서, 출력할 순번을 [x % 30 > 0] 으로 하여 참이면 1을, 거짓이면 0으로 정한게 놀랍습니다.
10610번: 30
어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한
www.acmicpc.net
로그인
www.acmicpc.net
'공부 > 📝 백준' 카테고리의 다른 글
11365 !밀비 급일 - C (0) | 2024.07.29 |
---|---|
11656 접미사 배열 - Python (0) | 2023.12.10 |
25757 임스와 함께하는 미니게임 - Python (0) | 2023.10.08 |
1072 게임 - Python (0) | 2023.09.19 |
10816 숫자 카드 2 - Python (0) | 2023.09.17 |