Algorithm/Programmers

[Programmers - lv02] 124 나라의 숫자 (cpp / python)

  • -
728x90

124 나라의 숫자

 

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

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

programmers.co.kr

 

문제 설명

10진법을 3진법으로 바꾸는 방식으로 풀면된다. 3진법에는 0,1,2가 쓰인다면 이 문제는 1,2,4가 쓰이도록 문제를 해결한다.

문제 풀이

소스코드 : C++

재귀를 이용한 풀이

#include <iostream>
#include <string>
#include <vector>

using namespace std;

char num[3] = {'1','2','4'};
string solution(int n) {
    if(!n--)return "";
    return solution(n/3) + num[n%3];
}

소스코드 : Python

반복문을 이용한 풀이

def solution(n):
    answer = []
    num = [1,2,4]
    while n:
        n-=1
        answer.append(str(num[n%3]))
        n//=3
    return "".join(reversed(answer))
728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.