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으로 정한게 놀랍습니다.
'공부 > 📝 백준' 카테고리의 다른 글
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 |