1λ‘ λ§λ€κΈ° (with.Java)
1λ‘ λ§λ€κΈ°μ λνμ¬ μμλ³Έ κΈμ λλ€.
μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©°, νμλ λ¬Έμ μ λν νκ³ μ λ€λ₯Έ νμ΄ λ°©λ²μ μμ보며, μμκ°κ³ μ ν©λλ€.
λ¬Έμ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
λ¬Έμ
μ μκ° μμ λ, μ§μλΌλ©΄ λ°μΌλ‘ λλκ³ , νμλΌλ©΄ 1μ λΊ λ€ λ°μΌλ‘ λλλ©΄, λ§μ§λ§μ 1μ΄ λ©λλ€. μλ₯Ό λ€μ΄ 10μ΄ μλ€λ©΄ λ€μκ³Ό κ°μ κ³Όμ μΌλ‘ 1μ΄ λ©λλ€.
10 / 2 = 5
(5 - 1) / 2 = 4
4 / 2 = 2
2 / 2 = 1
μμ κ°μ΄ 4λ²μ λλκΈ° μ°μ°μΌλ‘ 1μ΄ λμμ΅λλ€.
μ μλ€μ΄ λ΄κΈ΄ 리μ€νΈ num_listκ° μ£Όμ΄μ§ λ, num_listμ λͺ¨λ μμλ₯Ό 1λ‘ λ§λ€κΈ° μν΄μ νμν λλκΈ° μ°μ°μ νμλ₯Ό returnνλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ μΆλ ₯ μμ
num_list | result |
---|---|
[12, 4, 15, 1, 14] | 11 |
λ¬Έμ μ λν λμ νμ΄
class Solution {
public int solution(int[] num_list) {
int answer = 0;
for(int i = 0; i < num_list.length; i++){
while(num_list[i] != 1){
if(num_list[i] % 2 == 0){
num_list[i] = num_list[i] / 2;
} else{
num_list[i] = (num_list[i] - 1) / 2;
}
answer++;
}
}
return answer;
}
}
νμ΄ μ€λͺ
int answer = 0;: κ²°κ³Όλ₯Ό μ μ₯ν λ³μ answerλ₯Ό μ΄κΈ°νν©λλ€. μ΄κΈ°κ°μ 0μ λλ€.
for(int i = 0; i < num_list.length; i++) : μ λ ₯ λ°°μ΄ num_listλ₯Ό λ°λ³΅νλ©΄μ κ° μμλ₯Ό κ²μ¬ν©λλ€.
while(num_list[i] != 1) : νμ¬ μμκ° 1μ΄ μλ κ²½μ°, λ€μ μμ μ μνν©λλ€.
if(num_list[i] % 2 == 0) : νμ¬ μμκ° μ§μμΈ κ²½μ°:
νμ¬ μμλ₯Ό 2λ‘ λλλλ€.
else : νμ¬ μμκ° νμμΈ κ²½μ°:
νμ¬ μμμμ 1μ λΉΌκ³ 2λ‘ λλλλ€.
answer++;: κ° μ°μ°μ μνν λλ§λ€ answerλ₯Ό 1μ© μ¦κ°μν΅λλ€. μ΄λ νμν μ°μ° νμλ₯Ό μΈλ μν μ ν©λλ€.
return answer;: κ° μμμ λν μ°μ° νμλ₯Ό ν©μ°ν answerλ₯Ό λ°νν©λλ€.