n진법의 자연수 number를 10진법으로 변환하는 방법
Integer.parseInt(number, n)
10진법의 자연수 number를 n진법으로 변환하는 방법
String temp = 0;
while(number > 0) {
temp += number % n;
number /= n;
}
[문제 설명]
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항- n은 1 이상 100,000,000 이하인 자연수입니다.
n | result |
45 | 7 |
125 | 229 |
입출력 예 #1
- 답을 도출하는 과정은 다음과 같습니다.
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
45 | 1200 | 0021 | 7 |
- 따라서 7을 return 해야 합니다.
입출력 예 #2
- 답을 도출하는 과정은 다음과 같습니다.
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
125 | 11122 | 22111 | 229 |
- 따라서 229를 return 해야 합니다.
[문제 풀이]
class Solution {
public int solution(int n) {
int answer = 0;
String temp = ""; // 3진법 저장
// n을 3진법으로 표현
while(n > 0) {
temp += (n%3);
n /= 3;
}
// temp를 10진법으로 표현
answer = Integer.parseInt(temp, 3);
return answer;
}
}
'STUDY > 프로그래머스 코딩테스트' 카테고리의 다른 글
📚 [2018 KAKAO BLIND RECRUITMENT] [1차] 비밀지도 (0) | 2022.09.30 |
---|---|
✔ [Summer/Winter Coding(~2018)] 예산 (0) | 2022.09.30 |
[연습문제] 최대공약수와 최소공배수 (0) | 2022.09.29 |
[연습문제] 최댓값과 최솟값 (0) | 2022.09.29 |
📚 [완전탐색] 최소직사각형 (0) | 2022.09.29 |