https://school.programmers.co.kr/learn/courses/30/lessons/68935
문제: 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
- N진법 -> 10진법
Integer.parseInt(i, N);
- 10진법 -> N진법
Integer.toBinaryString(number); // 2진법 Integer.toOctalString(number); // 8진법 Integer.toHexString(number); // 16진법
풀이1
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
ArrayList<Integer> list = new ArrayList<>();
// 10진법 -> 3진법
while(n != 0) {
list.add(n%3);
n /= 3;
}
// 3진법 -> 10진법
int tmp = 1;
for(int i=list.size()-1;i>=0;i--) {
answer += list.get(i)*tmp;
tmp *= 3;
}
return answer;
}
}
풀이2
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
String ans = "";
while(n != 0) {
ans += n%3;
n /= 3;
}
return Integer.parseInt(ans, 3);
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 체육복 (0) | 2025.01.23 |
---|---|
[프로그래머스] 2016년 (0) | 2025.01.20 |
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2025.01.17 |
[프로그래머스] 최소직사각형 (0) | 2025.01.15 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2025.01.13 |