문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
코드
#include <vector>
using namespace std;
int solution(int n)
{
int answer = 0;
int digit = 1;
vector<int> v;
while (n > 0)
{
v.push_back(n % 3);
n = n / 3;
}
while (!v.empty())
{
answer += v.back() * digit;
v.pop_back();
digit *= 3;
}
return answer;
}
나의 생각
'Algorithm > 프로그래머스 : Level 1' 카테고리의 다른 글
[프로그래머스 Level 1] 예산 (0) | 2021.11.12 |
---|---|
[프로그래머스 Level 1] 시저 암호 (0) | 2021.11.11 |
[프로그래머스 Level 1] 가운데 글자 가져오기 (0) | 2021.11.11 |
[프로그래머스 Level 1] 문자열을 정수로 바꾸기 (0) | 2021.11.10 |
[프로그래머스 Level 1] 약수의 개수와 덧셈 (0) | 2021.11.10 |