반응형
https://programmers.co.kr/learn/courses/30/lessons/68935
class Solution {
public int solution(int n) {
//만약 n이 11라는것이 들어왔다.
//이것을 3진법으로 구하기위서해는 3으로 나눈 나머지값들을 순차적으로 배치한다.
String temp = "";
//처음 11이 들어왔다.
//while문 으로 들어간다.
//그다음 몫인 3이 들어왔다.
//while문으로 들어간다.
while(n >= 3){
//11을 3으로 나눈 나머지는 1이다. -> temp = "2"
//3을 3으로 나눈 나머지는 0 이다. -> temp = "02"
temp = n%3 + temp;
//11을 3으로 나눈 몫은 3이다.
//3을 3으로 나눈 몫은 1이다.
n /= 3;
}
//while문을 빠져나왔을때 11을 3진법으로 바꾼 값은 102이다.
//마지막 몫 + temp를 하면 3진법으로 변환이 된다.
temp = n + temp;
//reverse()를 이용하기위해 StringBuffer에 temp를 넣는다.
StringBuffer buffer = new StringBuffer(temp);
//reversetemp에 temp 문자열을 역순으로 바꾼 값 201 이 들어간다.
String reversetemp = buffer.reverse().toString();
//201을 10진법으로 바꾸기위해 Integer.ParseInt(값, 진법)를 사용한다.
int answer = Integer.parseInt(reversetemp, 3);
//201을 10진법으로 바꾼값은 19이다.
return answer;
}
}
반응형
'코딩테스트 > 프로그래머스 1단계' 카테고리의 다른 글
프로그래머스 1단계 - 완주하지 못한 선수 (0) | 2021.04.23 |
---|---|
프로그래머스 1단계 - 2016년 (0) | 2021.04.22 |
프로그래머스 1단계 - 완주하지 못한 선수 (0) | 2021.04.20 |
프로그래머스 1단계 - 나누어 떨어지는 숫자 배열 (0) | 2021.04.19 |
프로그래머스 1단계 - 모의고사 (0) | 2021.04.18 |