728x90
반응형
SMALL
프로그래머스 Level 1 3진법 뒤집기를 자바를 통해 풀어보았다.
https://programmers.co.kr/learn/courses/30/lessons/68935
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
tomy9729/Algorithm
🐗 내가 직접 작성한 내 코드 🐗. Contribute to tomy9729/Algorithm development by creating an account on GitHub.
github.com
Level 1 - 3진법 뒤집기.java
//Level 1 3진법 뒤집기.java
import java.lang.Math;
class Solution {
public int solution(int n) {
int answer = 0;
int x = 0; //3^x
int square = 1; //3의 square제곱
while(n>=square*3){
square *= 3;
x += 1;
}
int[] ternary = new int[x+1]; //3진법의 자릿수
for(int i=0;i<ternary.length;i++){
ternary[i] = n/square; //3진법으로 변환 및 저장
n -= square*ternary[i]; //남은 n
square /=3;
answer += Math.pow(3,i)*ternary[i]; //접근하는 순서가 3진법을 뒤집은 것과 같기 때문에 곧바로 10진법으로 변환하여 answer에 더해줌
}
return answer;
}
}
728x90
반응형
SMALL
'Problem Solving > programmers' 카테고리의 다른 글
[programmers] Level 1 로또의 최고 순위와 최저 순위.py (0) | 2021.05.14 |
---|---|
[programmers] Level 1 두 개 뽑아서 더하기.py (0) | 2021.05.14 |
[programmers] Level 1 실패율.py (0) | 2021.05.09 |
[programmers] Level 1 예산.py (0) | 2021.05.09 |
[programmers] Level 1 폰켓몬.java (0) | 2021.05.09 |