코딩테스트

C# 알고리즘 - 3진법 뒤집기

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

[문제 설명]

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

 

[제한사항]

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

 

[입출력 예]

캡처.PNG

 

[코드]

using System;


public class Solution {

    public int solution(int n) {

        int answer = 0;

        while(n > 0){

            answer *= 3;

            answer += n % 3;

            n /= 3;

        }

        

        return answer;

    }

}

 

[풀이]

while문을 사용하여 삼진수를 계산 매개변수를 넣고 

while문에서 매개변수를 3으로 나눠 0이 될때까지 반복함

answer에는 *3을 하여 answer의 값을 3진수로 바꿔주기

answer에 매개변수 n %3의 값을 더한다.

 

while(n > 0){

    answer *= 3;

    answer += n % 3;

    n /= 3;

}

 

 

[주소]

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

해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0