본문으로 바로가기

[JAVA] 3진법 뒤집기

category 코딩테스트/programmers 2022. 9. 16. 22:49

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

알고리즘에서 10진법을 n진법으로 바꾸기 등과 같은 문제는 자주 보인다.

처음에는 너무 어려워 보이지만 함수만 알면 정말 간단하게 풀수가 있다.

 

1. int n 을 3진법으로 바꾸기

-> Integer.toString(n, 3);

2. 3진법의 수를 다시 10 진법으로 바꾸기

-> Integer.parseInt(answer, 3);

 

< 나의 풀이 >

import java.util.*;
class Solution {
    public int solution(int n) {
        
        String str = Integer.toString(n, 3);
        String answer = "";
        for(int i = str.length()-1; i >= 0 ; i--){
            char tmp = str.charAt(i);
            answer += tmp;
        }
        
        Integer result = Integer.parseInt(answer, 3);
        return result;
    }
}