문제는 위와 같고, 코드는 아래와 같다.
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인지도 확인한 후
입력받은 수를 역으로 정렬해 이를 출력했다.
'코딩테스트 문제 풀이 > 그리디 알고리즘' 카테고리의 다른 글
백준 22864 파이썬 문제 풀이 (0) | 2024.05.06 |
---|---|
백준 16953 파이썬 문제 풀이 (0) | 2024.05.06 |