ํ’€์ด


๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ์ˆซ์ž๋“ค์„ ๋”ํ•˜์—ฌ ํ•œ์ž๋ฆฌ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๋•Œ ๊ทธ ์ˆซ์ž๊ฐ€ 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")

References