반응형
💁♀️ 링크
programmers.co.kr/learn/courses/30/lessons/68935
📃 문제
자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
입출력 예 #1
- 답을 도출하는 과정은 다음과 같습니다.
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
45 | 1200 | 0021 | 7 (return 값) |
🐾 문제풀이
10진법에서 3진법으로 바꾸는 과정을 생략하고, 앞뒤반전 3진법 수를 temp배열에 바로 넣어서 풀이
💻 코드
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
ArrayList<Integer> temp = new ArrayList<>();
// 10진법 -> 3진법(역순)
while(true){
if(n<3){ temp.add(n); break; }
temp.add(n%3);
n = n/3;
}
// 3진법(역순) -> 10진법
for(int i=0; i<temp.size(); i++){
answer += (Math.pow(3,temp.size()-i-1)*temp.get(i));
}
return answer;
}
}
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[프로그래머스] [Level1] 나누어 떨어지는 숫자 배열 - Java (0) | 2020.12.26 |
---|---|
[프로그래머스] [Level1] 가운데 글자 가져오기 - Java (0) | 2020.12.26 |
[프로그래머스] [Level1] K번째수 - Java (0) | 2020.12.26 |
[프로그래머스] [Level1] 2016년 - Java (0) | 2020.12.26 |
[프로그래머스] [Level1] 체육복 - Java (0) | 2020.12.25 |