728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 월간 코드 챌린지 시즌1 -> 3진법 뒤집기
https://school.programmers.co.kr/learn/courses/30/lessons/68935
해결 과정
두 개의 해결법을 찾았으므로 소스 코드와 함께 해결과정을 살펴보자.
소스 코드
(1)
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
String ans = "";
while(n != 0) {
ans += n%3;
n /= 3;
}
// 3진수인 a를 10진수로
return Integer.parseInt(ans, 3);
}
}
(2)
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;
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [예산] 자바 Lv.1 (0) | 2023.08.19 |
---|---|
JAVA 프로그래머스 [같은 숫자는 싫어] 자바 Lv.1 (0) | 2023.08.10 |
JAVA 프로그래머스 [최대공약수와 최소공배수] 자바 Lv.1 (0) | 2023.08.10 |
JAVA 프로그래머스 [직사각형 별찍기] 자바 Lv.1 (0) | 2023.08.08 |
JAVA 프로그래머스 [행렬의 덧셈] 자바 Lv.1 (0) | 2023.08.08 |
댓글