코딩문제/프로그래머스

2레벨 : 124 나라의 숫자

Drill_Labito 2020. 7. 20. 20:46

진법 문제를 적용하면 된다. 

예를들어 우리가 쓰는 10진법은 10으로 나눈 몫과, 나머지를 통해, 수를 표현하는데, 이 문제의 경우, 1,2,4 의 숫자로 우리가 쓰는 10진법의 수를 표현하는것이기에 3으로 나는 몫과 나머지를 이용하면 문제를 푸는데 어려움이 없다. 

 

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

using namespace std;

string solution(int n) {
 	string answer = "";
	int tmp;
	char arr[3] = { '4','1','2' };
	while (n > 0) {
		tmp = n % 3;
		n = n/3;
		if (tmp == 0) n--;

		answer = arr[tmp] + answer;
	}

	return answer;
}