1
2
3
4
5
6
7
8
9
10
11
|
s=input()
tmp=[]
for i in s:
tmp.append(int(i))
flag_zero= (tmp.count(0)!=0)
flag_three= (sum(tmp)%3==0)
if flag_three and flag_zero:
tmp=sorted(tmp, reverse=True)
for i in tmp:
print(i,end='')
else : print(-1)
|
cs |
일단 30의 배수가 되려면
3의배수이면서 10의배수여야하는데요
flag_zero는 입력받은값에 0이 없으면 10의 배수를 만들지못함을 이용
flag_three는 각 자리수의 합이 3의 배수이면 그 수도 3의 배수라는걸 이용
문제에서 가장 큰 값을 원하니 정렬할때 reverse=True 옵션을 통해 역으로 해서 출력하면 됩니다
반응형
'python-algorithm' 카테고리의 다른 글
백준 11931 수 정렬하기 4 (0) | 2021.12.08 |
---|---|
백준 11728 배열 합치기 (0) | 2021.12.08 |
백준 10384 팬그램 (0) | 2021.12.08 |
백준 9417 최대 GCD (0) | 2021.12.08 |
백준 11004 k번째 수 (0) | 2021.12.06 |
댓글