웹 개발 메모장
[알고리즘 문제] 124나라의 숫자 (Programmers) 본문
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 |
'옛날.. > 알고리즘 문제' 카테고리의 다른 글
[알고리즘 문제] 수박수박수박수박수박수? (프로그래머스) (0) | 2018.05.18 |
---|---|
[알고리즘 문제] 2 x N 타일링 (programmers) (0) | 2018.02.02 |
[알고리즘 문제] 야근 지수 (Programmers) (0) | 2017.11.13 |
[알고리즘 문제] 과자 많이 먹기 (Programmers) (0) | 2017.11.03 |
Comments