Jieunnyμ λΈλ‘κ·Έ
[JS] νλ‘κ·Έλλ¨Έμ€ - μμ λμ§ν λ³Έλ¬Έ
π λ¬Έμ
β³β³ κ²μλνκ° κ°μ΅λμμ΅λλ€. μ΄ λνλ Nλͺ μ΄ μ°Έκ°νκ³ , ν λλ¨ΌνΈ νμμΌλ‘ μ§νλ©λλ€. Nλͺ μ μ°Έκ°μλ κ°κ° 1λΆν° Nλ²μ μ°¨λ‘λλ‘ λ°°μ λ°μ΅λλ€. κ·Έλ¦¬κ³ , 1λ²↔2λ², 3λ²↔4λ², ... , N-1λ²↔Nλ²μ μ°Έκ°μλΌλ¦¬ κ²μμ μ§νν©λλ€. κ° κ²μμμ μ΄κΈ΄ μ¬λμ λ€μ λΌμ΄λμ μ§μΆν μ μμ΅λλ€. μ΄λ, λ€μ λΌμ΄λμ μ§μΆν μ°Έκ°μμ λ²νΈλ λ€μ 1λ²λΆν° N/2λ²μ μ°¨λ‘λλ‘ λ°°μ λ°μ΅λλ€. λ§μ½ 1λ²↔2λ² λΌλ¦¬ 겨루λ κ²μμμ 2λ²μ΄ μΉλ¦¬νλ€λ©΄ λ€μ λΌμ΄λμμ 1λ²μ λΆμ¬λ°κ³ , 3λ²↔4λ²μμ 겨루λ κ²μμμ 3λ²μ΄ μΉλ¦¬νλ€λ©΄ λ€μ λΌμ΄λμμ 2λ²μ λΆμ¬λ°κ² λ©λλ€. κ²μμ μ΅μ’ ν λͺ μ΄ λ¨μ λκΉμ§ μ§νλ©λλ€.
μ΄λ, μ²μ λΌμ΄λμμ Aλ²μ κ°μ§ μ°Έκ°μλ κ²½μμλ‘ μκ°νλ Bλ² μ°Έκ°μμ λͺ λ²μ§Έ λΌμ΄λμμ λ§λλμ§ κΆκΈν΄μ‘μ΅λλ€. κ²μ μ°Έκ°μ μ N, μ°Έκ°μ λ²νΈ A, κ²½μμ λ²νΈ Bκ° ν¨μ solutionμ 맀κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ²μ λΌμ΄λμμ Aλ²μ κ°μ§ μ°Έκ°μλ κ²½μμλ‘ μκ°νλ Bλ² μ°Έκ°μμ λͺ λ²μ§Έ λΌμ΄λμμ λ§λλμ§ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ. λ¨, Aλ² μ°Έκ°μμ Bλ² μ°Έκ°μλ μλ‘ λΆκ² λκΈ° μ κΉμ§ νμ μ΄κΈ΄λ€κ³ κ°μ ν©λλ€.
μ νμ¬ν
- N : 21 μ΄μ 220 μ΄νμΈ μμ°μ (2μ μ§μ μΉμΌλ‘ μ£Όμ΄μ§λ―λ‘ λΆμ μΉμ λ°μνμ§ μμ΅λλ€.)
- A, B : N μ΄νμΈ μμ°μ (λ¨, A ≠ B μ λλ€.)
π‘ μμ΄λμ΄
λ§λκΈ° μ κΉμ§λ μ΄κΈ°κΈ° λλ¬Έμ aμ bλ κ° λΌμ΄λλ§λ€ μ΄κ²¨μ, λ€μ λΌμ΄λμλ Math.ceil(a/2), Math.ceil(b/2)μ λ²νΈλ₯Ό κ°κ² λλ€.
2λͺ μ© λΆλ ν λλ¨ΌνΈμ΄κΈ° λλ¬Έμ λ²νΈλ₯Ό 2λ‘ λλ κ°μ΄ μ²μ λΌμ΄λμμ λͺλ²μ§Έ κ²½κΈ°μλμ§λ₯Ό μλ―Ένλ€.
μ΄λ, νμ λ²νΈλ₯Ό κ°μ§ μ¬λμ λλ¨Έμ§κ° 1 λ¨κ²λκ³ κ·Έλ¬λ©΄ λ€μ λ²νΈλ₯Ό κ°κ² λλ―λ‘ μ¬λ €μ€λ€.
aμ bλ₯Ό λ§€λ² Math.ceil(a/2), Math.ceil(b/2)λ‘ κ°±μ μμΌμ£Όλλ°, aμ bκ° κ°κ² λλ©΄ λμ΄ μ λΌμ΄λμ λΆμ΄μ μ¬λΌμλ€λ μλ―Έκ° λλ€.
answerμ΄ μ²μμ 0μ΄κΈ° λλ¬Έμ 첫λ²μ§Έ λΌμ΄λλ μΉ΄μ΄νΈκ° μλ¬μΌλ―λ‘ -1μ ν΄μ£Όμ§ μκ³ κ·Έλ₯ answerμ 리ν΄νλ©΄ λλ€.
βοΈ νμ΄
function solution(n,a,b){
var answer = 0;
while(a!==b){
a = Math.ceil(a/2);
b = Math.ceil(b/2);
answer++;
}
return answer;
}
'Study > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] νλ‘κ·Έλλ¨Έμ€ - μ νμ μκ°μ΄λ (0) | 2023.02.21 |
---|---|
[JS] νλ‘κ·Έλλ¨Έμ€ - Nκ°μ μ΅μ곡배μ (0) | 2023.02.17 |
[JS] νλ‘κ·Έλλ¨Έμ€ - ꡬλͺ λ³΄νΈ (0) | 2023.02.17 |
[JS] νλ‘κ·Έλλ¨Έμ€ - μΉ΄ν« (0) | 2023.02.14 |
[JS] νλ‘κ·Έλλ¨Έμ€ - μ¬λ°λ₯Έ κ΄νΈ (0) | 2023.02.09 |