반응형
풀이
10진법 수를 3진법으로 바꾸고
3진법 수를 반전시키고
반전시킨 3진법 수를 10진법으로 바꾸는 것으로 순서대로 해결합니다
while문을 통해서 3으로 계속 나눠서 3진법 문자열을 만들어 줍니다
while (n != 0) {
base3 = (n % 3) + base3;
n /= 3;
}
3진법 반전하는 것은
StringBuilder 클래스와 reverse() 함수를 이용해서 문자열을 반전시켜서 해결합니다
StringBuilder sb = new StringBuilder();
base3 = sb.append(base3).reverse().toString();
반전된 3진법을 다시 10진법으로 바꾸는 건
Integer.parseInt() 함수를 이용해서 해결합니다
answer = Integer.parseInt(base3, 3);
코드
문제의 순서대로 처리하는 코드
class Solution {
public int solution(int n) {
int answer;
String base3 = "";
StringBuilder sb = new StringBuilder();
while (n != 0) {
base3 = (n % 3) + base3;
n /= 3;
}
base3 = sb.append(base3).reverse().toString();
answer = Integer.parseInt(base3, 3);
return answer;
}
}
3진법 반전하는 과정을 줄인 코드
class Solution {
public int solution(int n) {
int answer;
String base3 = "";
while (n != 0) {
base3 += Integer.toString(n % 3);
n /= 3;
}
answer = Integer.parseInt(base3, 3);
return answer;
}
}
출처
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 로또의 최고 순위와 최저 순위 자바 java (0) | 2021.06.11 |
---|---|
프로그래머스 내적 자바 java (0) | 2021.06.03 |
프로그래머스 두 개 뽑아서 더하기 자바 java (0) | 2021.04.26 |
프로그래머스 음양 더하기 자바 java (0) | 2021.04.23 |
프로그래머스 크레인 인형뽑기 게임 자바 java (0) | 2021.04.23 |
댓글