비버놀로지

[Programmers 프로그래머스] 68935 3진법 뒤집기 본문

ALGORITM/JAVA

[Programmers 프로그래머스] 68935 3진법 뒤집기

KUNDUZ 2021. 1. 7. 10:27
728x90

programmers.co.kr/learn/courses/30/lessons/68935

 

코딩테스트 연습 - 3진법 뒤집기

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

programmers.co.kr

 

queue를 이용해서 만든 코드이다.

큐에 해당숫자를 3진법숫자로 각각 넣어주고, 반대로 하나씩 꺼내면서 10진법으로 바꾸어 주는 방식으로 작성했다.

import java.util.LinkedList;


class Solution {
    public int solution(int n) {
		int answer=0;
		LinkedList<Integer> que=new LinkedList<Integer>();	//링크드리스트를 이용해서 숫자를 저장
		
		while(n!=0) {
			que.add(n%3);
			n=n/3;
		}
		int size=que.size();
		for (int i = 0; i < size; i++) {
			answer+=que.pollFirst()*Math.pow(3, size-i-1);
			
		}
        return answer;
    }
}
728x90
Comments