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
문 풀이는 건너뛴 수만큼 더 반복하게 되고, 내 풀이는 일정하게 한 번씩 비교하고 넘어간다.피드백은 언제나 환영입니다 :)