문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
n result
45 | 7 |
125 | 229 |
입출력 예 설명
입출력 예 #1
- 답을 도출하는 과정은 다음과 같습니다.
n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
45 | 1200 | 0021 | 7 |
- 따라서 7을 return 해야 합니다.
입출력 예 #2
- 답을 도출하는 과정은 다음과 같습니다.
n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
125 | 11122 | 22111 | 229 |
- 따라서 229를 return 해야 합니다.
package LV1;
public class H68935 {
public static int Solution(int num) {
int answer = 0;
String three = Integer.toString(num, 3); // n을 3진법으로 변환
StringBuffer sb = new StringBuffer(three); // StringBuffer 뭐로 선언할까 고민해보장
String rev = sb.reverse().toString();
answer = Integer.parseInt(rev, 3);
return answer;
}
public static void main(String[] args) {
int num = 45;
System.out.println(Solution (num));
}
}
//3진법 나누다가 틀려부렸다 다시 풀어보자
//어디가 잘못되었는지 찾아보기!
int ans = 45;
while (num >0) {
ans = (num % 3) + ans;
num /= 3;
System.out.println(num);
}
return ans;
[JAVA] 간단하게 진법변환하기, 숫자 reverse
[JAVA] 간단하게 진법변환하기, 숫자 reverse
간단한 진법 변환 코드입니다. 연습 겸 한번 짜본 내용입니다. 예시로 든 진법이 아니더라도 원하는 숫자로 바꾸시면 변환 가능합니다! 10진법 숫자를 2진법으로 변환 10진법 숫자 14를 2진법으로
buddev.tistory.com
'알고리즘 > 프로그래머스 JAVA LV.1' 카테고리의 다른 글
같은 숫자는 싫어 (0) | 2023.01.28 |
---|---|
최소직사각형 (0) | 2023.01.28 |
하샤드 수 (0) | 2023.01.28 |
콜라츠 추측 (0) | 2023.01.28 |
제일 작은 수 제거하기 (0) | 2023.01.28 |