[Programmers] 124 λλΌμ μ«μ
βΆ λ¬Έμ : https://programmers.co.kr/learn/courses/30/lessons/12899
μ½λ©ν μ€νΈ μ°μ΅ - 124 λλΌμ μ«μ
programmers.co.kr
βΆ μ½λ :
function solution(n) {
const nums = ['4', '1', '2'];
let answer = '';
while(n > 0){
const remainder = n % 3;
if(remainder === 0){
n = n/3 - 1;
}else{
n = Math.floor(n / 3);
}
answer = nums[remainder] + answer;
}
return answer;
}
βΆ λ¬Έμ νμ΄ :
- λ¬Έμ νμ΄κ° μκ°λ³΄λ€ μ½μ§ μμλ€. νΉν 3μ§μμ κ²½μ° μλ¦Ώμ μ¦κ°μ μν μ²λ¦¬κ° κ°μ₯ μ½μ§ μμ λ§μ λΈλ‘κ·Έλ€μ μ°Έκ³ νμ¬ μ½κ³ μ΄ν΄νλ€.
λ¨Όμ μ¬μ§μ νμΈν΄λ³΄μ

μμ μμμμ μΌμͺ½μ 3μ§μλ‘ νννμλμ΄κ³ , μ€λ₯Έμͺ½μ λ¬Έμ νμ΄μ μ¬μ©ν λ°©μμ μμ±νλ€.
1. 첫λ²μ§Έ μμμμ 3μ§μμ κ²½μ° 3μΌλ‘ λλμμλ λͺ«μ΄ 1, λλ¨Έμ§κ° 0μ΄κ² λλ€. μ΄λ 3μ§μ μ«μλ '10'μ΄ λλ€. μ΄ κ²½μ° 3μΌλ‘ λλμ΄ λ¨μ΄μ§λ―λ‘ λ§¨λ μ«μλ₯Ό 0μΌλ‘ λ°κΎΈκ³ μμΌλ‘ 1μ λ겨 3μ νννκ³ μλ€. νμ§λ§ μ£Όμ΄μ§ λ¬Έμ μμλ 0μ΄ μλ '4'λ‘ νννκ³ μμΌλ©°, μ΄λ μ리μ¬λ¦Όμ΄ λ°μνλ©΄ μλλ€. μ΄ λ°©μμ μ°©μνμ¬ λͺ«μ κ°μ§κ³ μλ 1μ λλ¨Έμ§μͺ½ 3μΌλ‘ λκ²¨μ€ λ°©μμ΄ μ€λ₯Έμͺ½ λ°©μμ΄λ€. μ¦, λͺ«μμ 1μ κ°νκ³ λλ¨Έμ§μ 3μ λν΄μ€ λ°©μμ΄λ€. μ΄λ κ² λμμ κ²½μ° λλ¨Έμ§κ° 3μΌλλ '4'λ‘ ννν΄μ£Όλ©΄ μ’μΈ‘μ κ²½μ° 3μ§μ ννλ²μ '10'μ΄μ§λ§, μ°μΈ‘μ κ²½μ° 124λλΌμ ννλ°©μλλ‘ '4'λ‘ ννν μ μλ€. λ€μ μμλ€λ νμΈν΄λ³΄μ.
2. λλ²μ§Έ μμμμλ 6μ 3μΌλ‘ λλμ΄ 3μ§μ '20'μΌλ‘ νννκ³ μλ€. νμ§λ§ μ΄μ κ³Ό λ§μ°¬κ°μ§λ‘ 0μΌλ‘ ννμ ν κ²½μ° 1μλ¦¬κ° μ¦κ°ν΄μ ννμ΄ λλ€. μ¦, μμ 첫λ²μ§Έ μμμ μλ¦Ώμλ κ°μ§λ§ λλ²μ§Έ μμμμμ '20'μ μ΄λ―Έ '10'μμ μΌμ΄λ μλ¦Ώμ μ¦κ°λ₯Ό ν¬ν¨νκ³ μλ€λ λ»μ΄κ³ , μ΄λ¬ν μλ¦Ώμ μ¦κ°λ₯Ό μμ κΈ° μν΄ λͺ«μμ 1μ κ°νκ³ , λλ¨Έμ§μ 3μ μΆκ°ν΄ μμμ μμ±ν ` 1 ... 3 `μΌλ‘ `λͺ« ... λλ¨Έμ§` κ° λμ€κ² λκ³ , 3μ 4λ‘ νννλ©΄ 124λλΌμ νν λ°©μμΌλ‘ 10μ§μ 6μ '14'λ‘ ννν μ μλ€.
(λ€μκ²λ€λ λΉμ·νκ² ν΄λ³΄μ)
=> λ€μ λμ€λ μμ λ€λ ν΄λ³΄λ©΄ μκ² μ§λ§ 3μ§μμμλ 3μΌλ‘ λλμ΄ λ¨μ΄μ§ λλ§λ€ κ·Έ μ리λ₯Ό 0μΌλ‘ μ±μ°κ³ νμλ¦Ώμλ₯Ό μ¦κ°μν΄μ νμ ν μ μλ€. μ¦, 3μ§μλ‘ λ³ννλ κ³Όμ μμ 3μΌλ‘ λλμ΄ λ¨μ΄μ§λ κ²½μ°κ° λμ¬λλ§λ€ μλ¦Ώμκ° μ¦κ°νλ€λ λ§μ΄κ³ , μ΄λ₯Ό λ§κΈ° μν΄μ λͺ«μμ 1μ κ°νκ³ λλ¨Έμ§μ 3μ μΆκ°νλ€λ λ°©μμΌλ‘ μκ°ν΄μΌνλ€λ κ²μ΄λ€.(λλ¨Έμ§κ° 3μΈ κ²λ€μ κ²°κ΅ 124λλΌμ λ°©μμ μν΄ 4λ‘ ννλ κ²μ΄κ³ γ γ )
λ°λΌμ μ 체μ μΈ λμμ μ μνλ©΄ λ€μκ³Ό κ°λ€.
1. λ§€κ°λ³μλ‘ λ€μ΄μ¨ κ° nμ 3μΌλ‘ λλλ μμ μ λ°λ³΅νλ€.
2. μ΄λ 3μΌλ‘ λλμ΄ λ¨μ΄μ§ λλ λλ κ²°κ³Ό λͺ«μμ 1μ λΉΌμ£Όκ³ , λλ¨Έμ§μ 3μ μΆκ°μν¨λ€.
2 - 1. λλ¨Έμ§μ 3μ μΆκ°μν€λ κ³Όμ μ κ²°κ΅ ν΄λΉνλ λ¬Έμμ΄ λΆλΆμ 4λ‘ μΉννλ©΄ λλ κ²μ΄λκΉ μμ μ½λμ λμ μλλλ‘ answer λ¬Έμμ΄μ λ·λΆλΆμ λ¬Έμ '4' λ₯Ό μΆκ°μμΌμ€λ€.
2 - 2. 3μΌλ‘ λλμ΄ λ¨μ΄μ§μ§ μλ κ²½μ°λ 1 νΉμ 2λ₯Ό λ£μ΄μ£Όλ©΄ λκ² μ§? (124λλΌμ κ·μΉλλ‘)
3. μ΄ κ³Όμ μ λ°λ³΅νλ©° λ§μ§λ§μ nμ΄ 0 μ΄λλ©΄ λ°λ³΅λ¬Έμ νμΆνλλ‘ while μ μ μ΄λ¬Έμ n > 0 μΌλ‘ μμ±ν΄μ€λ€.