honey_pot

[python] 124 나라의 숫자 본문

문제 풀이

[python] 124 나라의 숫자

_tera_ 2021. 9. 10. 15:26

https://programmers.co.kr/learn/courses/30/lessons/12899

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

  1. 1~3의 수는 1,2,4로 정해진 숫자가 나온다.
  2. 4부터는 3으로 나눴을 때의 몫과 나머지로 숫자가 조합된다.
  3. 하지만 6과 9를 보면 나머지가 0이거나 몫이 1,2,4 가 아닌 수가 나올 경우 0은 4로, 몫은 (몫 -1) 이 조합된다.
def solution(n):
    num = ['1','2','4']
    if n <= 3:
        return num[n-1]
    else:
        q,r = divmod(n-1,3)
        return solution(q) + num[r]
  • num 리스트에 1,2,3의 결과인 1,2,4,를 string 형태로 저장한다
  • 3 이하의 자연수는 num[n-1] 의 값이 나온다.
  • 그 밖의 경우는 몫과 나머지를 구한뒤 몫을 다시 재귀함수를 3 이하의 수가 나올때까지 수행한다.

'문제 풀이' 카테고리의 다른 글

[oracle] 중성화 여부 파악하기  (0) 2021.09.10
[python] 가장 큰 수  (0) 2021.09.10
[python] 소수 만들기  (0) 2021.09.09
[python] 체육복  (0) 2021.09.09
[python] 크레인 인형뽑기 게임  (0) 2021.09.09
Comments