웹 개발 메모장

[알고리즘 문제] 124나라의 숫자 (Programmers) 본문

옛날../알고리즘 문제

[알고리즘 문제] 124나라의 숫자 (Programmers)

도로롱주 2017. 11. 6. 17:05





124나라의 숫자





 프로그래머스로 문제 풀러 가기 





[문제]

1,2,4 세 개의 숫자만 쓰는 124나라가 있습니다.

124나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

  • 10진법의 1 → 1
  • 10진법의 2 → 2
  • 10진법의 3 → 4
  • 10진법의 4 → 11
  • 10진법의 5 → 12
  • 10진법의 6 → 14
  • 10진법의 7 → 21

10진법의 수 N이 입력될 때, 124나라에서 쓰는 숫자로 변환하여 반환해주는 change124 함수를 완성해 보세요. 예를 들어 N = 10이면 “41”를 반환해주면 됩니다.

리턴 타입은 문자열입니다.



[나의 답안]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class OneTwoFour {
    public String change124(int n) {
        String answer = "";
    
        while(n > 3) {
          answer += String.valueOf(n % 3);
          n = (n % 3 == 0) ? (n-1)/3 : n / 3;
        }
    
        answer += String.valueOf(n % 3);
    
        answer = new StringBuilder(answer).reverse().toString();
        answer = answer.replace('0''4');
 
        return answer;
    }
 
    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        OneTwoFour oneTwoFour = new OneTwoFour();
        System.out.println(oneTwoFour.change124(10));
    }
}
cs




Comments