3진법 뒤집기를 풀어보자

중요사항

  • n 을 3진법 -> 뒤집기 -> 10진법변환

📢3진법 뒤집기


자연수 N을 3진법후 뒤집고 다시 10진법으로 반환한다

📢풀이

  • N을 3진법으로 만들기위해 while사용

  • 3으로 나누고 값을 추가 하기 위해 ArrayList 사용
    3으로 나누고 저장하는거라 반전되어 저장됨
    add(): 배열값을 추가한다

  • 길이 변수 선언후 for문 으로 10진법으로 변환

  • 제곱으로 계산하기위해 Math.pow()사용

  • 결과값반환

import java.util.*;

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        List<Integer> List = new ArrayList<Integer>();
        while(n>=1){
            List.add(n%3);
            n = n/3;   
        }
        
         
        int len = List.size();
        for(int i=0; i<len; i++){
            answer += List.get(i)*(Math.pow(3, len-i-1));
        }
        
        return answer;
    }
}

📢마치며

자바에 아는게 몇개 없어서 ArrayList로 코드를 작성 했는데 문제 제출 하고 보니까 StringBuilder같은 좀더 편한 클래스 있다는걸 알았다 시간날때 틈틈히 클래스 공부를 다시해야 할것같다 😱

📢출처

👍프로그래머스

좋은 웹페이지 즐겨찾기