티스토리 뷰


이것보다 더 나은 코드가 있을지 생각해보았는데 아직 공부가 부족해 더 이상 생각나지 않는다.

문제풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def collatz(num):
    cnt = 0
    answer = num
    while cnt < 500:
        if answer % 2 == 1:
            answer = answer * 3 + 1
            cnt += 1
            if answer == 1:
                return cnt
        else:
            answer //= 2
            cnt += 1
            if answer == 1:
                return cnt
    return -1
 
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(collatz(6))


댓글
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Total
Today
Yesterday