문제 설명
자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
입출력 예 설명
<해야하는거>
1. 3진법으로 변경
2. (3진법으로바뀐거를) 앞뒤 바꿈
3.이걸 10진법으로 변경
import java.util.ArrayList;
import java.util.List;
public class _3진법뒤집기 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(solution(45));
}
public static int solution(int n) {
int answer = 0;
String val = "";
// 3진법으로 변경
while(n > 0){
val =val + (n % 3); // 나머지
n = n / 3; // 몫
}
// 앞뒤 바꿈
// 10진법으로 변경
int j = 0; // 몇번째인지
for(int i = val.length()-1; i >= 0; i--){
answer += (val.charAt(i) - '0') * Math.pow(3, j);
j++;
}
return answer;
}
}
(참고)
2진수->10진수 변경
다른 분들,,풀이
이런 방법이,,, StringBuilder로 뒤집어 버리는 방법도 있었군,,
그런다음에
Integer.parseInt(~)로 그냥 3진법으로 바꿔부리네.,,
(참고)
m.blog.naver.com/icbanq/221727893563
'Other > 코테 문제' 카테고리의 다른 글
[코테] 음양 더하기 (0) | 2021.04.28 |
---|---|
[코테] 크레인인형뽑기게임_카카오 - "stack,push,pop,peek" (0) | 2021.04.27 |
[코테] K번째수_정렬 - "Arrays.copyOfRange("원본 배열", "복사할 시작인덱스", "복사할 끝인덱스")" (0) | 2021.04.27 |
[코테] 시저 암호 - "일정한 거리만큼 밀어서 다른 알파벳으로 바꿈" (0) | 2021.04.26 |
[코테] 문자열 내 p와 y의 개수 - "s.charAt(i)=='y'" (0) | 2021.04.26 |