고양이와 코딩

[프로그래머스] 저주의 숫자 3.py 본문

python

[프로그래머스] 저주의 숫자 3.py

ovovvvvv 2023. 8. 12. 17:35
728x90

문제

문제 익히기

1. 3의 배수와 "3"이 들어간 숫자는 사용할 수 없다.

2. 3의 배수가 아니면서 && 3이 들어가지 않을 때 까지 숫자를 1씩 증가시킨다. (누적되야함)

3. n까지 반복문을 돌아야 한다.

 

풀이

def solution(n):
    result = 0
    tmp = 1
    
    while n: #n이 0이 아닐 동안 반복
        str_num = str(tmp)
        if tmp % 3 == 0 or '3' in str_num:
             tmp += 1
        else:
            result = tmp
            tmp += 1
            n -= 1
        
    return result

tmp로 증가된 값을 저장하고 result = tmp로 현재 누적 값으로 숫자를 초기화 해 준다.

그리고 n을 1씩 감소시키면서 n이 0이 되면 while문을 나오도록 코드를 짰다.