슈뢰딩거의 고등어

[프로그래머스] 3진법 뒤집기 본문

알고리즘

[프로그래머스] 3진법 뒤집기

슈뢰딩거의 고등어 2022. 2. 8. 11:16

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

 

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

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

programmers.co.kr

#include <string>
#include <vector>
#include <cmath>

using namespace std;

int solution(int n) {
    int answer = 0;
    vector <int> v;
    
    // 1. 삼진법 변환
    while (n != 0) {
        int divider = 3;
				// 삼으로 나눈 나머지를 집어넣어준다
        v.push_back(n%divider);
				// 삼으로 나눠준다.
        n = n/divider;
    }

    for(int i=0; i<v.size(); i++) {
        answer += v[i] * pow(3, v.size()-1-i);
    }
    
    return answer;
}

'알고리즘' 카테고리의 다른 글

[백준] 1105 팔  (0) 2022.02.25
[23290]마법사 상어와 복제  (0) 2022.02.21
[백준] 12865 평범한 배낭  (0) 2022.02.08
[프로그래머스] 없는 숫자 더하기  (0) 2022.02.08
[프로그래머스] 신규아이디 추천  (0) 2022.02.08
Comments