- Published on
Codility - Binary Gap
- Author
- Name
- yceffort
1-1 Binary Gap
λ¬Έμ
μ«μ Nμ μ΄μ§μλ‘ λ°κΏ¨μλ, 1κ³Ό 1μ¬μ΄μ μλ 0μ κ°μκ° κ°μ₯ λ§μ΄ μ°μν΄ μλ 0μ κ°μλ₯Ό ꡬνλΌ.
9λ μ΄μ§μλ‘ λ°κΏ κ²½μ° 1001, μ΄κ²½μ° 0μ μ΅λ κ°μλ 2.
529λ μ΄μ§μλ‘ λ°κΏ κ²½μ° 1000010001, μ΄κ²½μ° 0μ μ΅λ κ°μλ 3.
20μ μ΄μ§μλ‘ λ°κΏ κ²½μ° 10100, μ΄ κ²½μ° 0μ μ΅λ κ°μλ 1. (100μ 1λ‘ λλ¬ μμ¬ μμ§ μμ)
15λ μ΄μ§μλ‘ λ°κΏκ²½μ° 1111 μ΄λ―λ‘, 0μ κ°μλ 0κ°
νμ΄
function solution(N) {
// 2μ§λ²μΌλ‘ λ³ν
const binary = N.toString(2)
// 1λ‘ μͺΌκ° λ€.
const splitted = binary.split(1)
// λκ° μ΄νλ‘ μͺΌκ°μ§ κ²½μ°, 1μ΄ νκ° λ°μ μμΌλ―λ‘ κ°μ 0
if (splitted.length <= 2) {
return 0
} else {
// λ§μ§λ§ λλκΈ°λ μλ―Έκ° μλ€.
// '' μ΄κ±°λ 1λ‘ λ§νμμ§ μλ€λ©΄ μ«μκ° λμ¬ κ²μ΄λ―λ‘
splitted.pop()
// μ μΌ
return splitted.reduce((p, c) => (c.length > p ? c.length : p), 0)
}
}
ν΄μ€
λ°°μ΄μ λ§μ§λ§ μμλ₯Ό pop
νλ κ²λ§ κΈ°μ΅νλ©΄ λ λ―.