[ 프로그래머스 ] 프로그래머스 - 124나라

NaHyun_kkiimm·2021년 7월 23일
0

알고리즘

목록 보기
1/18
post-thumbnail

< 문제 정보 >

[ 문제 ]

10진수 자연수를 1, 2, 4의 숫자로 표현하기

[ 규칙 ]

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

[ 프로그래머스 ]

10진법124 나라10진법124 나라
11614
22721
34822
411924
5121041

< 풀이 >

입력값 n이 들어왔을 때, 3으로 나눈 나머지에 대하여
(1) '1'일 경우 : 1출력
(2) '2'일 경우 : 2출력
(3) '0'일 경우 : 4출력
-> 출력 이후, n은 3으로 나눈 몫이 된다. ( n=n/3 )

  • '1', '2', '0'의 경우를 배열로 만들어 사용한다.
    => String card[ ] = { "4", "1", "2" }
  • 만약, n이 3으로 나눠떨어진다면 -1을 해줘야한다. ( n = n-1 )

[ 코드 ]

class Solution {
    public String solution(int n) {
        int g;
        String card[]={"4","1","2"};
        String answer = "";
        while(n>0){		// n이 0일때까지 반복
            g=n%3;		// 나머지 계산
            n/=3;		// 몫 계산
            if (g==0)		// 3으로 나눠떨어질 경우
                n--;		// n-1 계산
            answer=card[g]+answer;	// 나머지를 인덱스로, 배열의 값을 문자열에 초기화
        }
        return answer;
    }
}
profile
이 또한 지나가리라

0개의 댓글