νλ‘κ·Έλλ¨Έμ€
[νλ‘κ·Έλλ¨Έμ€] λ€μ ν° μ«μ -Javascript <μ°μ΅λ¬Έμ >
ruby_s
2021. 11. 20. 16:20
728x90
λ°μν
SMALL
λ¬Έμ μ€λͺ
μμ°μ nμ΄ μ£Όμ΄μ‘μ λ, nμ λ€μ ν° μ«μλ λ€μκ³Ό κ°μ΄ μ μ ν©λλ€.
- 쑰건 1. nμ λ€μ ν° μ«μλ nλ³΄λ€ ν° μμ°μ μ λλ€.
- 쑰건 2. nμ λ€μ ν° μ«μμ nμ 2μ§μλ‘ λ³ννμ λ 1μ κ°―μκ° κ°μ΅λλ€.
- 쑰건 3. nμ λ€μ ν° μ«μλ 쑰건 1, 2λ₯Ό λ§μ‘±νλ μ μ€ κ°μ₯ μμ μ μ λλ€.
μλ₯Ό λ€μ΄μ 78(1001110)μ λ€μ ν° μ«μλ 83(1010011)μ λλ€.
μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, nμ λ€μ ν° μ«μλ₯Ό return νλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- nμ 1,000,000 μ΄νμ μμ°μ μ λλ€.
μ μΆλ ₯ μ
n | result |
78 | 83 |
15 | 23 |
μ μΆλ ₯ μ μ€λͺ
μ
μΆλ ₯ μ#1
λ¬Έμ μμμ κ°μ΅λλ€.
μ
μΆλ ₯ μ#2
15(1111)μ λ€μ ν° μ«μλ 23(10111)μ
λλ€.
λ΄κ° νΌ νμ΄
const find1 = (n) => {return (n.toString(2).match(/1/g) || []).length;}
function solution(n) {
const n_2 = find1(n)
let next_n_2 = 0;
while(n_2 !== next_n_2)
next_n_2 = find1(++n);
return +n.toString(10);
}
λλ¦ μ κ·μμΌλ‘ κ°λ¨νκ² νΌ κ² κ°κΈ΄ νλ°,
λκ° whileλ¬Έμ μμ°κ³ ν μ μμ κ² κ°μλ° μ’ λ μκ°ν΄λ΄μΌκ² λ€..
λ€λ₯Έ μ¬λ νμ΄
function solution(n,a=n+1) {
return n.toString(2).match(/1/g).length == a.toString(2).match(/1/g).length ? a : solution(n,a+1);
}
μ¬κ· νμ© ..!
728x90
λ°μν
LIST