프로그래밍

프로그래머스 C# 3진법 뒤집기(int.Parse, 3진수 표기하기)

노마드선샤인 2023. 1. 26. 18:04
728x90

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        int ans = 0;
        int a = 0;
        int k = 1;
        string samjin = "";
        
        while(n > 0)
        {
            ans = n % 3;
            samjin += ans.ToString();
            n = n / 3;
            a++;
        }
        
        for(int i = a-1;i>=0;i--)
        {
            answer += k * int.Parse(samjin[i].ToString());
            k = 3 * k; 
        }
        
        return answer;
    }
}

 

//하기는 했는데 변수가 너무 남발되는 거 같다. 처음부터 거꾸로 3진법을 출력하게 했으니 원래대로 3진법이 나오게 하는 방법도 찾아봐야 할 거 같다.

////

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        
    	while(n>0)
    	{
        	answer = answer * 3;
        	answer += n%3;
        	n/=3;
    	}
        
    return answer;
    }
}
728x90