문제 :
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항 :
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예 :
n | result |
45 | 7 |
125 | 229 |
코드 :
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0,num=1,quo=n;
string reverse="";
while(quo>0){
reverse+=(quo%3)+'0';
quo/=3;
}
for(int i=1;i<=reverse.size();i++){
answer+=(reverse[reverse.size()-i]-'0')*num;
num*=3;
}
return answer;
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스/level1/c++] 두 정수의 합 (0) | 2021.01.07 |
---|---|
[프로그래머스/level1/c++] 나누어 떨어지는 숫자 배열 (0) | 2021.01.07 |
[프로그래머스/level1/c++] 같은 숫자는 싫어 (0) | 2021.01.07 |
[프로그래머스/level1/c++]가운데 글자가져오기 (0) | 2021.01.05 |
[프로그래머스/level1/c++]2016년 (0) | 2021.01.05 |