티스토리 뷰

728x90

문제 설명

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

 

제한 조건

  • n은 1 이상 100,000,000 이하인 자연수입니다.

 

입출력 예

n result
45 7
125 229

 

 

코드

#include <string>
#include <vector>

using namespace std;

// 10진법을 앞뒤 반전된 3진법으로 변환
string to_three(int n)
{
    string res = "";
    
    while (n)
    {
        res += to_string(n % 3);
        n /= 3;
    }
    return res;
}

// 앞뒤 반전된 3진법을 10진법으로 변환
int to_ten(string s)
{
    int i, res = 0;
    
    for (i = 0; i < s.size(); i++)
    {
        res = res * 3 + s[i] - '0';
    }
    return res;
}

int solution(int n) {
    int answer = 0;
    
    if (n)
        answer = to_ten(to_three(n));
    return answer;
}

 

링크

programmers.co.kr/learn/courses/30/lessons/68935

 

코딩테스트 연습 - 3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수

programmers.co.kr

github.com/inbdni/Programmers/blob/master/level01/3%EC%A7%84%EB%B2%95%EB%92%A4%EC%A7%91%EA%B8%B0.cpp

 

inbdni/Programmers

Contribute to inbdni/Programmers development by creating an account on GitHub.

github.com

 

728x90
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
공지사항
링크
Total
Today
Yesterday