wherehows
Home
  • 분류 전체보기 (35)
    • 알고리즘 (31)
      • 코드트리 (0)
      • 백준 (1)
      • 리트코드 (21)
      • 프로그래머스 (9)
Home
  • 분류 전체보기 (35)
    • 알고리즘 (31)
      • 코드트리 (0)
      • 백준 (1)
      • 리트코드 (21)
      • 프로그래머스 (9)
블로그 내 검색

wherehows

  • 알고리즘/프로그래머스

    [Lv2] 124 나라 숫자

    2021. 6. 21.

    by. 창고

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

     

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

     

    programmers.co.kr


    10진수는 0부터 9까지의 숫자를 이용해서 수를 표현하는 것

    4진수는 0부터 3까지의 숫자를 이용해서 수를 표현하는 것

     

    4진수를 이용해서 수를 표현하면

    1(1), 2(2), 3(3), 4(10), 5(11), 6(12), 7(13), 8(20), 9(21)... 처럼 10진수를 4로 나누었을 때 '몫+나머지'의 형태로 표현

     

    그렇다면 여기서 0을 사용 불가능하게 해서 1, 2, 3만 사용이 가능하다면

    1(1), 2(2), 3(3), 4(11), 5(12), 6(13), 7(21), 8(22), 9(23)...

     

    0을 제외했을 때 새로운 규칙이 나오는데, 이것을 파악해야 본 문제를 풀 수 있음.

    function solution(n) {
        let answer = '';
        let remainder = ['4', '1', '2'];
        let r;
        let q = n;
    
        while(1) {
            r = q % remainder.length;
            answer = remainder[r] + answer;
    
            if(q % remainder.length === 0) {
                q = Math.floor(q / remainder.length) - 1;
            } else {
                q = Math.floor(q/ remainder.length);
            }
    
            if(q <= 2) {
                if(q !== 0) answer = q + answer;
                break;
            }
        }
    
        return answer;
    }

    '알고리즘 > 프로그래머스' 카테고리의 다른 글

    [Lv2] 수식 최대화  (0) 2021.07.01
    [Lv2] 배달  (0) 2021.06.26
    [Lv3] 입국심사  (0) 2021.06.16
    [Lv2] 멀쩡한 사각형  (0) 2021.06.14
    [Lv2] 오픈채팅방  (0) 2021.06.14

    댓글

    관련글

    • [Lv2] 수식 최대화 2021.07.01
    • [Lv2] 배달 2021.06.26
    • [Lv3] 입국심사 2021.06.16
    • [Lv2] 멀쩡한 사각형 2021.06.14
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
창고

티스토리툴바