코딩테스트/Programmers_LV1
Programmers_JAVA_3진법 뒤집기(진수변환 메소드사용x)
wn1331
2022. 11. 30. 20:40
반응형
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
int count = 1;
ArrayList<Integer> arr = new ArrayList<>();
//1.3진법으로 표기 후 ArrayList에 저장.
while (n != 0) {
arr.add(n % 3);
n /= 3;
}
//2.뒤집으면서 10진법으로.
for (int i = arr.size() - 1; i >= 0; i--, count *= 3) {
answer += arr.get(i) * count;
}
return answer;
}
}
반응형