프로그래머스 lv1 삼진법뒤집기

이성준·2022년 6월 24일
0

알고리즘

목록 보기
12/13

사이트 : 프로그래머스
푼 날짜 : 2022-06-23
난이도 : LV1
제목 : 체육복

코드

public int solution(int n) {
       
        int answer = 0;
        Integer temp = n;
        StringBuilder result2 = new StringBuilder();
        ArrayList<Integer> result = new ArrayList<>();
        while(temp>0){
            result.add(temp%3);
            result2.append(temp%3);
            temp=temp/3;

        }
        System.out.println("result2 = " + result2);
        for (int i = result.size()-1; i >=0; i--) {
            answer+= result.get(i) * Math.pow(3, result.size()-i-1);
        }
        System.out.println(Integer.parseInt(result2.toString(),3));

        return answer;
    }

풀이(의사코드)

  1. 3진법으로 만들기
  2. 역순으로 뒤집기
  3. 다시 10진법으로 만들기

느낀점

Integer에 진법하는 메소드가 있다는걸 처음 알았다.

10진법을 다른 진법으로 변환하기

Integer.toString(10진법수,바꿀진법)
//ex
Integer.toString(45,3);
; 

다른진법을 10진법으로 변환하기

Integer.parseInt(숫자,이숫자의진법);
Integer.parseInt("1011",2);

String타입이 아니면 무조건 10진수로 판별하게 된다.

0개의 댓글