728x90
반응형
얼마전에 진법 변환에 관련해서 글을 올렸는데 이 문제를 다시 푸니 뭔가 반가웠다ㅎㅎ
📑 이상한 문자 만들기
🔗 https://school.programmers.co.kr/learn/courses/30/lessons/68935
더보기
문제 설명
자연수 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 해야 합니다.
✏️ 문제 해결 방법
문제에서 주어진 순서대로 문제를 풀고자 하였다.
3진법으로 바꿔주고, 반전시킨 후, 10진법으로 다시 변환시켜주기.
여기서 반전시킬 때, StringBuffer의 경우 reverse()라는 메서드가 있기 때문에 쉽게 반전시켜줄 수 있으므로 StringBuffer를 사용해 쉽게 반전시켜 줄 수 있었다.
* StringBuilder를 사용해도 된다.
🔽 진법 변환 메서드 작성 글
전체 코드
class Solution {
public int solution(int n) {
StringBuffer sb = new StringBuffer(Integer.toString(n, 3));
String reverse = sb.reverse().toString();
return Integer.parseInt(reverse, 3);
}
}
궁금한 점이 있거나 잘못된 부분이 있다면 얼마든지 댓글로 남겨주세요 🤗
감사합니다!
728x90
반응형
'LANGUAGE > JAVA' 카테고리의 다른 글
[알고리즘] 프로그래머스 신규 아이디 추천 (레벨 1) / 자바 java 풀이 (0) | 2024.06.22 |
---|---|
[알고리즘] 프로그래머스 문자열 다루기 기본 (레벨 1) / 자바 java 풀이 (0) | 2024.06.21 |
[알고리즘] 프로그래머스 자연수 뒤집어 배열로 만들기 (레벨 1) / 자바 java 풀이 (0) | 2024.06.19 |
[알고리즘] 프로그래머스 이상한 문자 만들기 (레벨 1) / 자바 java 풀이 (0) | 2024.06.18 |
[알고리즘] 프로그래머스 자연수 뒤집어 배열로 만들기 (레벨 1) / 자바 java 풀이 (0) | 2024.06.17 |