반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
자연수 n이 주어집니다. n이 1의 자리가 될 때까지 각 자릿수를 더해 변환합니다.
각 자릿수를 더한 합이 3의 배수이면 더하기 전의 수도 3의 배수입니다. 1의 자리가 3의 배수(3, 6, 9) 일 경우, n은 3의 배수입니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
단순히 1의 자리가 될 때까지, 각 자릿수의 합을 구하면 됩니다.
3. 코드
n = input()
cnt = 0 #횟수
# 1의 자리가 될 때까지 반복
while len(n) > 1:
cnt += 1
# 각 자릿수의 합
sum = 0
for i in n:
sum += int(i)
n = str(sum)
print(cnt)
if int(n) % 3 == 0:
print("YES")
else:
print("NO")
중간에 각 자릿수의 합이 3의 배수가 안되더라도 멈추면 안됩니다. 1의 자리가 될 때까지 연산한 후에, 3의 배수인지 판정합니다.
반응형
'Algorithm' 카테고리의 다른 글
[정렬/탐색] 백준 1920 수 찾기 - Python (0) | 2022.02.10 |
---|---|
[Algorithm] 이진탐색(Binary Search), 반반 나누어서 찾자 (0) | 2022.02.09 |
[수학/소수] 백준 4948 베르트랑 공준 - Python (0) | 2022.02.09 |
[수학/소수] 백준 11653 소인수분해 - Python (0) | 2022.02.09 |
[수학/소수] 백준 2581 소수 - Python (0) | 2022.02.09 |
댓글