코딩테스트 문제 풀이/그리디 알고리즘

백준 10610 파이썬 문제 풀이

CleStella 2024. 5. 6. 18:49

문제는 위와 같고, 코드는 아래와 같다.

a_list=list(map(int,input()))
is_three=0
is_zero=True
result=0
iterat=0
for num in a_list:
    if num==0:
        is_zero = False
    result+=num
if (is_zero) or ((result%3)!=0):
    print(-1)
else:
    a_list.sort(reverse=True)
    for nums in a_list:
        print(nums,end="")

모든 자릿수의 합이 3의 배수여야 3의 배수를 만들 수 있다는 것은 자명한 사실이기에

모든 자릿수의 합이 3의 배수인지 확인하고, 이 값이 0인지도 확인한 후

입력받은 수를 역으로 정렬해 이를 출력했다.