java 프로그래머스 [Level 1] _3진법 뒤집기
2021. 4. 30. 17:55ㆍ프로그래머스 알고리즘/코딩 테스트 문제
반응형
출제 링크 : programmers.co.kr/learn/courses/30/lessons/68935
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
import java.util.Stack;
class Solution {
public int solution(int n) {
int answer = 0;
Stack<Integer> temp = new Stack<Integer>();
while (n >= 3) {
temp.add(n % 3);
n = n / 3;
}
temp.add(n);
// System.out.println(temp);
int index = 0;
while (!temp.isEmpty()) {
int dammy = Integer.parseInt(String.valueOf(temp.pop()));
// System.out.println("dammy : " + dammy );
if (index == 0) {
answer += dammy;
} else if (index == 1) {
answer += (dammy * 3);
} else {
int in = (int) Math.pow(3, index);
answer += dammy * in;
}
index++;
}
return answer;
}
}
반응형