[프로그래머스] 3진법 뒤집기-Java

Jiwoo·2024년 6월 3일
0

Java

목록 보기
19/25

📌 3진법 뒤집기

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

문제 설명

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

제한사항

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

입출력 예

n result
45 7
125 229
class Solution {
    public int solution(int n) {
        String str = "";
        while (n != 0) {
            str += n % 3;
            n /= 3;
        }
        return Integer.parseInt(str, 3);
    }
}

1. 3진법 변환
e.g. n = 10 인 경우
10, str = "1"
10 / 3 = 3
3, str = "10"
3 / 3 = 1
1, str = "101"
1 / 3 = 0
결과적으로 str -> "101"

2. 3진법 값을 10진법 정수로 변환

parseInt(String s, int radix)

  • 문자열 s를 주어진 기수(radix)를 기준으로 정수로 변환
  • 기수는 2진수부터 36진수까지 가능
  • e.g. Integer.parseInt(s, 3) -> s에 저장된 3진법 숫자를 10진법 정수로 반환

0개의 댓글