풀이
각 자릿수의 숫자들을 더하여 한자리수가 나올 때 그 숫자가 3의 배수라면 기존 숫자도 3의 배수가 된다는 문제다.
while문을 활용하여 값이 한자리수가 될 때 까지 각 자리수들을 더해주는 연산을 수행한다.
한자리수에 도달한 후 그 수가 3의 배수라면 “YES” 를 출력하며 각 연산이 수행될 때 마다 저장해 둔 ans 값을 출력해준다.
소스코드
# 3의 배수
import sys
input = sys.stdin.readline
num = input().rstrip()
ans = 0
isTrue = False
while True:
temp = 0
if len(num) > 1:
for n in num:
temp += int(n)
ans += 1
num = str(temp)
else:
if int(num)%3 == 0:
isTrue = True
break
print(ans)
print("YES" if isTrue else "NO")