알고리즘/[ Programmers ]

[ Programmers ][JAVA][12899] 124 나라의 숫자

kim.svadoz 2020. 9. 16. 15:53
728x90
반응형

programmers.co.kr/learn/courses/30/lessons/12899

 

코딩테스트 연습 - 124 나라의 숫자

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

programmers.co.kr

문제설명

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.

124 나라에는 자연수만 존재합니다.
124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.
예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

image-20200916155000016


자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.

제한사항

  • n은 500,000,000이하의 자연수 입니다.

입출력 예

image-20200916155111619

접근

N진법 처럼, 입력값을 1과 2와 4의 숫자만으로 변환하는 것이다. 숫자의 나머지를 구한 뒤 그게 0이면 맨 마지막 자리의 수라는 접근이 키 포인트였던 것 같다.

코드

public class IntOf124_12899 {

	public static void main(String[] args) {
		int n = 4;
		solution(n);
	}
	
	public static String solution(int n) {
		String[] numbers = {"4", "1", "2"};
		String answer = "";
		int num = n;
		while(num>0) {
			int reminder = num % 3;
			num /= 3;
			if(reminder==0) num--;

			answer = numbers[reminder] + answer;
		}
		System.out.println(answer);
		return answer;
    }

}
728x90
반응형