[프로그래머스][파이썬] 저주의 숫자 3 - 조건문 (Level 0)

뻥튀기아이스크림·2025년 3월 26일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120871

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(n):
    answer = 0
    count = 0

    while count < n:
        answer += 1
        if answer % 3 != 0 and '3' not in str(answer):
            count += 1

    return answer
  • 문제 설명의 예시를 보면 3 이나 3 의 배수라면 1 을 더해서 숫자를 처리하고 있다.
  • 따라서, 3x 마을의 숫자에 3 이 들어있거나 3 의 배수라면 넘어가고, 아닐 때 count 를 하나씩 더해서 해당 수를 피하게 했다.

◽ 다른 사람 풀이

def solution(n):
    answer = 0
    
    for _ in range(n):
        answer += 1
        while answer % 3 == 0 or '3' in str(answer):
            answer += 1
            
    return answer
  • for 문으로 풀이해서 더 직관적인 풀이인것 같다.

◽ 더 나아가기

  • while 문으로 풀이한 이유는 이중 반복문을 쓰게 되면 n 이 커지면 자연스레 비용이 많이 들어서이다.
  • for 문 풀이는 건너뛴 수만큼 더 반복하게 되고, 내 풀이는 일정하게 한 번씩 비교하고 넘어간다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글