-
728x90
[ 문제 풀이 ]
- [ 1, 2, 4 ]로만 숫자를 구성해야 한다.
=> 숫자 3가지만 사용하는 것이, 3진수를 사용하는 것과 같다.- 숫자 3가지만 사용하는 것이, 3진수를 사용하는 것과 같다.
=> num[ "4", "1", "2"] 에서 해당 index로 접근하여 문자열에 더해준다.N 3으로 나눈 나머지 3으로 나눈 몫
1 1 0
2 2 0
3 0 1 => 3으로 나누어 떨어지는 경우, 몫이 1개 더 생기기 때문에 빼준다!!!
0
4 1 1
5 2 1
6 0 2 => 3으로 나누어 떨어지는 경우, 몫이 1개 더 생기기 때문에 빼준다!!!
1[ 전체 코드 ]
class Solution { public String solution(int n) { String answer = ""; String num[] = new String[] { "4", "1", "2" }; while (n != 0) { answer = num[n % 3] + answer; if (n % 3 == 0) n -= 1; n /= 3; } return answer; } }
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[level3] 프로그래머스 - 네트워크(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 타겟 넘버(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 순위 검색(JAVA) (0) 2021.09.12 [level2] 프로그래머스 - 멀쩡한 사각형(JAV) (0) 2021.09.11 [level2] 프로그래머스 - 튜플(JAVA) (0) 2021.09.10 댓글