카테고리
기본 알고리즘
나만의 카테고리
아이디어 짜기
문제 링크
programmers.co.kr/learn/courses/30/lessons/68935
요점
- 진법 변환 방법에 대해 알아야한다.
- String 뒤집는 방법에 대해 알아야한다.
- Integer.parseInt(String str, int radix)
참고 지식
- [Java] Integer.parseInt(String str, int radix)
풀이 (Java)
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
String convertedString = makeRadix3(n);
convertedString = reverseString(convertedString);
answer = Integer.parseInt(convertedString, 3);
return answer;
}
private String makeRadix3(int n) {
String converted = "";
while(n > 0) {
converted = (n % 3) + converted;
n /= 3;
}
return converted;
}
private String reverseString(String str) {
StringBuffer sb = new StringBuffer(str);
return sb.reverse().toString();
}
}
각 부분을 함수형태로 만들고 메인 solution 함수는 간단하게 구성했습니다.
makeRadix3은 3진법으로 변환하는 함수인데 함수 내에서 '3'으로 하드코딩 되어 있는 부분만 원하는 진법으로 변경하면 모든 진법 변환 문제에 활용할 수 있습니다.
문자열을 뒤집는 방법은 구글에서 여러 방법을 찾아볼 수 있지만 지금까지 써본바로는 StringBuffer를 쓰는게 제일 편하더라구요 ㅎㅎ
알고리즘 초보가 정리한 글입니다
더 좋은 방법이나 코드에 대한 코멘트 언제나 환영합니다!
반응형
'Algorithm > Algorithm Test' 카테고리의 다른 글
[프로그래머스] 징검다리 건너기 (0) | 2021.05.11 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (Java) (0) | 2021.04.29 |
[프로그래머스] 두 개 뽑아서 더하기(C++, Java) (0) | 2021.03.12 |
[프로그래머스] 도둑질 (Java) (0) | 2021.03.01 |
[프로그래머스 SQL] 있었는데요 없었습니다 (0) | 2021.02.24 |