[νλ‘κ·Έλλ¨Έμ€:Javascript] 2μ μμ
νλ‘κ·Έλλ¨Έμ€ Lv.0
- 2μ μμ
π λ¬Έμ μ€λͺ
- μ μ λ°°μ΄ arrκ° μ£Όμ΄μ§λλ€. λ°°μ΄ μμ 2κ° λͺ¨λ ν¬ν¨λ κ°μ₯ μμ μ°μλ λΆλΆ λ°°μ΄μ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.λ¨, arrμ 2κ° μλ κ²½μ° [-1]μ return ν©λλ€.
π μ ν쑰건
- 1 ≤ arrμ κΈΈμ΄ ≤ 100,000
- 1 ≤ arrμ μμ ≤ 10
π νμ΄
function solution(arr) {
const sIndex = arr.indexOf(2);
const eIndex = arr.lastIndexOf(2);
if (sIndex !== -1) {
return arr.slice(sIndex, eIndex + 1);
} else {
return [-1]
}
}
β
π‘ indexOf( ) λ©μλλ λ°°μ΄μμ μ£Όμ΄μ§ μμλ₯Ό μ°Ύμ μ μλ 첫 λ²μ§Έ μΈλ±μ€λ₯Ό λ°ννκ³ , μ°Ύμ μ μλ κ²½μ° -1μ λ°νν©λλ€.
π‘ lastIndexOf( ) λ©μλλ λ°°μ΄μμ νΉμ μμλ₯Ό μ°Ύμ μ μλ λ§μ§λ§ μΈλ±μ€λ₯Ό λ°ννκ±°λ, ν΄λΉ μμκ° μμΌλ©΄ -1μ λ°νν©λλ€.
sIndex λ³μμ arrμμ μ«μ 2μ 첫 λ²μ§Έ λ±μ₯ μμΉμ μΈλ±μ€λ₯Ό μ μ₯νκ³ , (λ§μ½ λ°°μ΄μ μ«μ 2κ° μ‘΄μ¬νμ§ μλλ€λ©΄ -1μ λ°ννλ€. )
eIndex λ³μμλ arrμμ μ«μ 2μ λ§μ§λ§ λ±μ₯ μμΉμ μΈλ±μ€λ₯Ό μ μ₯νλ€. (λ§μ½ λ°°μ΄μ μ«μ 2κ° μ‘΄μ¬νμ§ μλλ€λ©΄ -1μ λ°ννλ€. )
λ§μ½ sIndexκ° -1μ΄ μλλΌλ©΄ (= λ°°μ΄μ μ«μ 2κ° μ‘΄μ¬νλ€λ©΄)
arr.slice(sIndex, eIndex + 1)μ μ¬μ©νμ¬ λ°°μ΄μμ 첫 λ²μ§Έ λ±μ₯ μμΉλΆν° λ§μ§λ§ λ±μ₯ μμΉκΉμ§μ λΆλΆ λ°°μ΄μ return ν΄μ€λ€.
λ°°μ΄μ μ«μ 2κ° μ‘΄μ¬νμ§ μλλ€λ©΄ [-1]μ return ν΄μ€λ€.