개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (285)
    • Web Front End (74)
      • Javascript & Typescript (26)
      • React (11)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • JavaScript
  • 회고
  • 릿코드
  • 노마드북클럽
  • 오늘의회고
  • TypeScript
  • 프론트엔드
  • 자바스크립트
  • 노개북
  • 개발자

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/Programmers

[Programmers][Javascript] 124 나라의 숫자

2020. 6. 3. 21:23
반응형

문제

124 나라의 숫자

문제 설명

10진수를 문제만의 규칙인 124진법으로 변환시키는 문제

  1. parameter로 들어온 숫자가 0보다 클 때 동안 while문을 돌면서 124진수로 변환을 한다.
  2. 1, 2, 4라는 3개의 수로 바꾸는 것이기 때문에 원래의 10진수에서 몫과 나머지가 필요하다.
  • 몫은 처음에 parameter인 n으로 다시 저장되어 while문을 벗어나는 수가 될 수 있게 해 준다.
  • 나머지는 restNum이라는 나머지 저장 변수에 저장해 124진수를 만드는 데에 사용한다.
  1. 몫과 나머지를 2에서 구했으니 이것을 바탕으로 2진수를 구하는 방법과 비슷하게 3을 나눠서 답을 구해 보았다.
  • 나머지가 0일 때는 4로 치환했다.
  • 어라? 답이 4가 아닌 14로 나온다.
  • 아래는 푼 과정을 그린 것이다.

124 규칙찾기

  1. 여기서 규칙을 찾을 수 있었다. 3의 배수는 모두 한 단계씩 큰 숫자가 나왔다.
  • 그럼 어떻게 해야 할까?
  1. 나머지가 0일 때(3의 배수일 때), 해당 몫에서 1을 빼줘야 한다. 1을 빼면 자리수가 하나 올라가는 것을 막아 문제에서 원하는 답을 찾을 수 있다.

123 설명 이미지

  1. 나머지들을 while문에 있는 동안 계속 앞에 붙여 주면 끝난다.

성공 코드

const solution = (n) => {
  let answer = "";
  let restNum = 0;

  while (n > 0) {
    restNum = n % 3;
    n = Math.floor(n / 3);
    if (restNum == 0) {
      n -= 1;
      restNum = 4;
    }
    answer = restNum + answer;
  }

  return answer;
};
반응형
저작자표시 (새창열림)
    'Problem Solved/Programmers' 카테고리의 다른 글
    • [Programmers][Javascript] 12903번 - 가운데 글자 가져오기
    • [Programmers][Javascript] 가장 큰 수
    • [Programmers][Javascript] K번째수
    • [프로그래머스][Javascript] 문자열 압축
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바