코딩문제/프로그래머스
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;
}