문제
자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록
solution 함수를 완성해주세요.
코드
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n, 3);
StringBuilder sb = new StringBuilder(str);
String an = sb.reverse().toString();
answer = Integer.parseInt(an, 3);
return answer;
}
풀이
이전의 이진법 문제에서 배운 것을 응용하였다.
3진법이라는 것이 존재하는지는 몰랐지만 Integer 객체의 toString()메소드를 사용하여 첫번째 매개값에는 넣을 숫자 두번째 매개값에는 진법을 넣어서 문자열로 변환할 수 있다.
이후 StringBuilder의 reverse()메소드를 사용해서 문자열을 뒤집었다.
그리고 다시 Integer의 parseInt()메소드에 바꿀 문자열, 기준진법을 파라미터로 해서 10진법 수로 변환하는 과정을 거쳤다.
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 lv 0 유한소수 판별하기 (0) | 2023.04.19 |
|---|---|
| 프로그래머스 lv 0 등수매기기 (0) | 2023.02.28 |
| 프로그래머스 lv0 로그인 성공? (0) | 2023.02.28 |
| 프로그래머스 lv0 문자열내림차순배열하기 (0) | 2023.02.27 |
| 프로그래머스 lv0 이진수더하기 (0) | 2023.02.27 |