본문 바로가기

Algorithm/level1

[ 프로그래머스 - Java & Kotlin ] 3진법 뒤집기 ( 자바 & 코틀린 )

728x90

( 월간 코드 챌린지 시즌1 / 3진법 뒤집기 )

[문제]

문제 설명

자연수 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 해야 합니다.

[코드]

자바

 class Solution {
    public int solution(int n) {
        return Integer.parseInt(new StringBuffer(Integer.toString(n, 3)).reverse().toString(), 3);
    }
}

코틀린

class Solution {
    fun solution(n: Int) = n.toString(3).reversed().toInt(3)
}

문제 링크

 

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

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

programmers.co.kr

제가 잘못 알고 있거나 잘못된 부분이 있을 경우 알려주시고 추가로 궁금한 점 있으신 분들도 댓글이나 메일 주시면 성실히 답변해 드리겠습니다.🧑🏻‍💻

감사합니다~😄

728x90