[ 알고리즘풀이 ]
3진법처럼 n을 3으로 나눠가면서 나머지에 따라 값을 answer에 변환되는 수를 쌓고, 반대로 출력해주면 된다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(int n) {
string answer = "";
while (n) {
if (n % 3 == 1)
answer += '1';
else if (n % 3 == 2)
answer += '2';
else
answer += '4';
n--;
n /= 3;
}
reverse(begin(answer), end(answer));
return answer;
}
'Problem Solving > Programmers' 카테고리의 다른 글
[Programmers] 2 x n 타일링 - travelbeeee (0) | 2020.03.16 |
---|---|
[Programmers] 종이접기 - travelbeeee (0) | 2020.03.13 |
[Programmers] 탑 - travelbeeee (0) | 2020.03.12 |
[Programmers] 스킬트리 - travelbeeee (0) | 2020.03.10 |
[Programmers] 구명보트 - travelbeeee (0) | 2020.03.10 |