문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/68935
주어진 수 n을 3진법으로 변환 후, 뒤집어서 다시 10진수로 변환하는 문제
문제 풀이법
문제는 어렵지 않았다
다만 n = 3인 경우를 간과하여서 틀렸다
n이 3인 경우를 고려하니, 정답!
소스 코드
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int solution(int n) {
int answer = 0;
vector<int> v;
while (n >= 3)
{
v.push_back(n % 3);
n = n / 3;
}
v.push_back(n % 3);
reverse(v.begin(), v.end());
for (int i = 0; i < v.size(); i++)
{
answer += v[i] * pow(3, i);
}
return answer;
}
'Algorithm Study' 카테고리의 다른 글
[프로그래머스] 1단계 - 문자열 내 마음대로 정렬하기 (0) | 2023.01.05 |
---|---|
[프로그래머스] 1단계 - [1차] 비밀지도.cpp (0) | 2023.01.05 |
[프로그래머스] 1단계 - 예산 (0) | 2023.01.05 |
[백준] 17413 단어 뒤집기 2 (0) | 2023.01.03 |
[프로그래머스] 1단계 - 콜라츠 추측 (0) | 2023.01.02 |