반응형
문제 정보는 아래 링크를 확인해주세요!
[124 나라의 숫자]
문제 접근 방법
- 3진수를 구한다는 생각으로 접근한다.
- n에 대한 k진수 값을 구하기 위해서는 0부터 구해나가는 것이 아닌
- n을 k로 나누면서 결과값의 앞에 추가해주면서 구해나간다.
- 이 때, 유의해야할 점은 나눴을 때의 나머지 값이 0~k가 나오므로
- 나머지를 (k,1,2,~,k-1) 인덱스에 맞춰준다.
- 여기서는 1,2,4이므로 나머지를 (4,1,2) 인덱스에 맞춰준다.
[소스 코드]
package algorithm.programmersLevel2;
/*
* 프로그래머스
* 124 나라의 숫자
* */
public class Pro12899 {
public String solution(int n) {
String answer = "";
while(n>0) {
//n을 3으로 나눈 나머지의 인덱스가 4,1,2 중 해당하는 값을 결과값 앞에 추가
answer += "412".charAt(n%3) + answer;
n = (n-1)/3;//n을 단순히 3으로 나누면은 1,2,3에 대한 3진수가 된다. 따라서 (n-1)로 나눠야한다.
}
return answer;
}
}
[정확성/효율성 테스트]
반응형
LIST
'알고리즘 > 연습문제' 카테고리의 다른 글
프로그래머스 - 다리를 지나는 트럭 (feat. Java) (0) | 2020.05.21 |
---|---|
프로그래머스 - 주식가격 (feat. Java) (0) | 2020.05.21 |
2020 카카오 블라인드 코딩테스트 - 기둥과 보 설치 (feat. Java) (0) | 2020.05.20 |
2020 카카오 블라인드 코딩테스트 - 가사 검색 (feat. Java) (0) | 2020.05.20 |
2020 카카오 블라인드 코딩테스트 - 자물쇠와 열쇠 (feat. Java) (0) | 2020.05.19 |