728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12899
풀이
3진법이랑 같은데 3대신 4를 쓴다고 생각하면 됨!!
n진법 뭐시기니까 계속 나눠가면서 자릿수랑 나머지를 신경써주면 되겠죠 그니까??
자세한건 주석으로!
코드
// 프로그래머스 - 연습문제 - 124 나라의 숫자
// https://programmers.co.kr/learn/courses/30/lessons/12899
package PROGRAMMERS.level2;
public class Num12899_124나라의숫자 {
private static class Solution {
// 3진법이랑 같은데 3대신 4를 쓴다고 생각하면 됨
private String solution(int n) {
StringBuilder sb = new StringBuilder();
String answer = "";
int a = 0;
while (n > 0) {
a = n % 3;
n = n / 3;
// 나머지가 0이면 n을 하나 빼서 자릿수를 맞춰주고
// 3대신 4를 문자열에 추가
if (a == 0) {
n--;
a = 4;
}
sb.insert(0, a);
}
return sb.toString();
}
}
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(sol.solution(1));
System.out.println(sol.solution(2));
System.out.println(sol.solution(3));
System.out.println(sol.solution(4));
System.out.println(sol.solution(86));
}
}
728x90