본문 바로가기
프로그래머스/2단계

(Python/LV2) 124 나라의 숫자

by windy7271 2022. 10. 5.
728x90
반응형

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/12899

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

 

from itertools import product


def solution(n):
    words = ["1","2","4"]
    list = []
    count = n
    if n == 1 : return "1"
    while True:
        for i in range(1,n):
            for j in product(words, repeat = i):
                list.append("".join(j))
                if len(list) == n:
                    return list[-1]
                    
효율성 테스트에서 다 틀린다
import math
from itertools import product


def solution(n):
    words = ["1","2","4"]
    count = n
    list =[]
    while count >= 0:
        for i in range(1,int(math.sqrt(n)) + 1):
            for j in product(words, repeat = i):
                list.append("".join(j))
                count -= 1
    return (list[n-1])
# 이것도 틀림

 

def solution(n):
    answer = ''
    while n > 0:
        n -= 1
        answer = '124'[n%3] + answer
        print(answer)
        n //= 3
    return answer

1 을 빼주는건 3진법이기 때문에  

반응형

댓글