πŸ“Œ 1. 문제


[Programmers, Level1] 같은 μˆ«μžλŠ” μ‹«μ–΄


λ°°μ—΄ arrκ°€ μ£Όμ–΄μ§‘λ‹ˆλ‹€. λ°°μ—΄ arr의 각 μ›μ†ŒλŠ” 숫자 0λΆ€ν„° 9κΉŒμ§€λ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ, λ°°μ—΄ arrμ—μ„œ μ—°μ†μ μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μˆ«μžλŠ” ν•˜λ‚˜λ§Œ 남기고 μ „λΆ€ μ œκ±°ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 단, 제거된 ν›„ 남은 μˆ˜λ“€μ„ λ°˜ν™˜ν•  λ•ŒλŠ” λ°°μ—΄ arr의 μ›μ†Œλ“€μ˜ μˆœμ„œλ₯Ό μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€λ©΄,


arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return ν•©λ‹ˆλ‹€. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return ν•©λ‹ˆλ‹€. λ°°μ—΄ arrμ—μ„œ μ—°μ†μ μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μˆ«μžλŠ” μ œκ±°ν•˜κ³  남은 μˆ˜λ“€μ„ return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.


μ œν•œμ‚¬ν•­
λ°°μ—΄ arr의 크기 : 1,000,000 μ΄ν•˜μ˜ μžμ—°μˆ˜
λ°°μ—΄ arr의 μ›μ†Œμ˜ 크기 : 0보닀 ν¬κ±°λ‚˜ κ°™κ³  9보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜


arr answer
[1,1,3,3,0,1,1] [1,3,0,1]
[4,4,4,3,3] [4,3]


✍ 풀이

function solution(arr) {
  var answer = [];
  for (let i = 0; i < arr.length; i++) {
    if (answer[answer.length - 1] !== arr[i]) answer.push(arr[i]);
  }
  return answer;
}

πŸ‘ Best

function solution(arr) {
  return arr.filter((val, index) => val != arr[index + 1]);
}


  • 빈 배열을 λ§Œλ“€κ³  빈 λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ 인덱슀의 μš”μ†Œκ°€ μƒˆλ‘œ λ“€μ–΄μ˜¬ μš”μ†Œμ™€ κ°™λ‹€λ©΄ pushλ˜μ§€ μ•ŠλŠ” μ½”λ“œλ₯Ό λ§Œλ“€μ—ˆλ‹€.