코딩테스트/programmers (python)

python/ Lv.0 저주의 숫자 3

seulll 2023. 1. 21. 00:43

코딩테스트 연습 - 저주의 숫자 3 | 프로그래머스 스쿨 (programmers.co.kr)

문제 설명

3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.
10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자
1 1 6 8
2 2 7 10
3 4 8 11
4 5 9 14
5 7 10 16

입출력 예

n result
15 25
40 76

내 풀이 (오답)

def solution(n):
    num=0
    for i in range(n):
        if i%3!=0:
            num+=1
        elif "3" in str(i) and i%3==0: 
            num+=2
    return num

 

 

풀이

def solution(n):
    num=0
    for i in range(n):
        num+=1
        while num%3==0 or "3" in str(num):
            num+=1
    return num