프로그래머스_C#/Level_1

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

최애뎡 2021. 9. 5. 00:10
728x90
반응형

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

 

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

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

programmers.co.kr

using System;
using System.Linq;
using System.Collections.Generic;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        string temp = "";
        
        while(n != 0)
        {
            temp += (n % 3).ToString();
            n /= 3;
        }
        
        char[] chr_temp = long.Parse(temp).ToString().ToCharArray();
        Array.Reverse(chr_temp);        
        temp = new string(chr_temp);
        
        for (int i = -1; ++i < temp.Length;)
            answer += int.Parse(temp[i].ToString()) * (int)Math.Pow(3, i);     
        
        return answer;
    }
}

음.. 지금 보니까 너무 더럽다.. 아닌가.. 음 

반응형