문제에서 주어진 큰 수를 주어진 조건에 부합할 때까지 계속 반복 작업을 거치면서 문제 변환의 과정 횟수를 증가시켜주고 결과적으로 반환된 숫자가 3의 배수인지 확인하는 간단한 문제였다.
X = input()
result = 0
status = 0
while True:
if len(X) == 1:
break
else:
for i in range(len(X)):
result += int(X[i])
X = str(result)
status += 1
result = 0
if int(X) % 3 == 0:
print(status)
print("YES")
else:
print(status)
print("NO")
개인적으로 코드의 간결성이 좀 떨어진다고 생각한다. 코드를 작성하면 언젠가는 늘겠지...?