[프로그래머스] Level1. 3진법 뒤집기

Benjamin·2023년 3월 16일
0

프로그래머스

목록 보기
45/58

내 풀이 1

class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp="";
        while(n/3>=1) {
            temp += n%3;
            n /= 3;
        }
        temp += n;
        answer = Integer.parseInt(temp,3);
        return answer;
    }
}

10진수에서 3진수로 나눗셈연산과 나머지연산을 이용해 구하다가, n진수에서 10진수로 변환해주는 메서드가 생각나서 찾아보고 그렇게 진행했다.

그러다 문득 10진수에서 3진수도 메소드를 이용해 바꿀 수 있지않을까싶어 찾아봤다.

내 풀이2

class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp= Integer.toString(n,3);
        StringBuffer sb = new StringBuffer(temp);
        temp = sb.reverse().toString();
        answer = Integer.parseInt(temp,3);
        return answer;
    }
}

10진수를 제외한 나머지 진수는 String으로 받아야 하기때문에, Integer.toString(n,진수)을 이용해서 진행할 수 있다.

그리고 이를 뒤집기위해서는 StringBuffer을 이용해야한다.

공부한 사항

  • String Integer.toString(10진수 값, 변환하고싶은 진수 n);
  • int Integer.parseInt(10진수로 변환할 String값, 첫번째 매개변수의 진수)

0개의 댓글