dev/코딩테스트

[프로그래머스] 3진법 뒤집기- level1 코딩 테스트, c#

코딩for 2021. 3. 29. 16:13
반응형



문제 설명

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

 

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

 

입출력 예
N result
45 7
125 229

 

입출력 예 설명

입출력 예 #1

  • 답을 도출하는 과정은 다음과 같습니다.

n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현

45 1200 0021 7
  • 따라서 7을 return 해야 합니다.

입출력 예 #2

  • 답을 도출하는 과정은 다음과 같습니다.

n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현

125 11122 22111 229
  • 따라서 229를 return 해야 합니다.

[코드보기]

더보기

 

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        string result = "";
        bool end = true;
        
        while (true)
        {
          // 몺
          var a = n / 3;
          // 나머지 
          var b = n % 3;

          n = a;
          result += b.ToString();

          if (n < 3)
          {
            result += a.ToString();
            break;
          }
        }

        var idx = result.Length;
        var sum = 0;
        for (var i = 0; i < result.Length; i++)
        {
          var pow = (int)Math.Pow(3, --idx);
          answer += int.Parse(result[i].ToString()) * pow;
        }
        
        return answer;
    }
}

10진수를 3진수로 변환 한후 뒤집기

 

 

 

 

 

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

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

programmers.co.kr

 

* 진법변환 설명 참고

 

 

2진법/8진법/10진법/16진법 변환하기

진법이란수​를 표기하는 기수법이며 흔히 우리들이 사용하는 1,2,...9 와 같이 표기하는 방법을 10진법이...

blog.naver.com

 

반응형