-문제: 

 

생각해낸 풀이방법

숫자 받고, 정수로 리스트 만듦

내림차순으로 정렬한다(sort.(reverse=True)

끝 세자리수가 30의 배수이면 맞고, 아니면 -1 출력 (여기에서 오류가 났다)

 

--> 0이 있으면 2,5의 배수이기 때문에 0이 하나라도 있어야하고, 3의 배수이려면 끝 세자리 합이 3의 배수가 아니라

각 자리에 있는 모든 숫자의 합이 3의 배수가 되어야 한다 .

 

-정답 풀이:

data=list(input())
n=len(data)

check=0
for i in range(n):
    check+=int(data[i])
    
data.sort(reverse = True)

if check %3 ==0 and '0' in data:
    print(''.join(data))
else:
    print(-1)

 

-틀렸던 풀이

출력 초과가 났다. 내 예상으론 else문에 해당하는 건데 조건을 잘못 설정해서 if문으로 가서 -1보다 큰 값이 출력돼서 틀렸던 것 같다 

data=list(input())
n=len(data)
   
data.sort(reverse = True)
check = int(data[-3])*100 +int(data[-2])*10 + int(data[-1])

if check % 30 ==0:
    ans=''
    for i in range(n):
        ans+=data[i]
    print(ans)  
else: 
    print(-1)

+ Recent posts