반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12899
풀이
문제를 보자마자 몫과 나머지를 이용하는 문제라는 걸 파악했지만 생각보다 오래 걸렸음. 이유는 기본적인 3진법과의 차이가 있다는 점.
기본적인 3진법: 0, 1, 2, 10, 11, 12
124나라의 3진법: 1, 2, 4, 11, 12, 14
차이점은 "일의 자리에 1, 2, 4 모든 숫자가 올 수 있다." 그렇기 때문에 나머지가 0으로 떨어지는 경우 숫자에서 -1을 해주어야한다.
class Solution {
public String solution(int n) {
String answer = "";
while (n > 0) {
int reminder = n % 3;
if (reminder == 0) answer = "4" + answer;
else if (reminder == 1) answer = "1" + answer;
else answer = "2" + answer;
// 모두 1의 자리에 들어올 수 있기 때문에 나머지가 0으로 떨어지는 경우 -1
if (reminder == 0) n--;
n = n / 3;
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]JAVA - Level1. 신규 아이디 추천 (0) | 2022.08.23 |
---|---|
[프로그래머스]JAVA - Level2. 두 큐 합 같게 만들기 (0) | 2022.08.22 |
[프로그래머스]JAVA - Level3. N으로 표현 (0) | 2022.07.09 |
[프로그래머스]JAVA - Level3. 입국심사 (0) | 2022.07.05 |
[프로그래머스]JAVA - Level 2. 뉴스 클러스터링 (0) | 2022.06.29 |