μ•Œκ³ λ¦¬μ¦˜ & λ¬Έμ œν’€μ΄/Programmers-1

같은 μˆ«μžλŠ” μ‹«μ–΄

YunCow 2022. 9. 30. 23:50

풀이 πŸ™ŽπŸ»‍♂️

function solution(arr) {
  return arr.filter((el, idx) => el !== arr[idx + 1]);
}
  • ν•΄λ‹Ή λ¬Έμ œλŠ” μŠ€νƒ/큐 자료ꡬ쑰λ₯Ό μ΄μš©ν•΄ ν‘ΈλŠ” ν’€μ΄μ˜€λŠ”λ° ν’€μ΄μžμ²΄λŠ” μ’‹μ§€λ§Œ λ¬Έμ œμ˜λ„μ— λ§žμ§€μ•Šλ‹€. μ˜λ„μ— λ§žλŠ” 풀이에 λŒ€ν•΄ μ•Œμ•„λ³΄μž.


문제 μ˜λ„μ— λ§žλŠ” 풀이

function solution(arr) {
  const result = [];
    
  for (const el of arr) {
      const lastElement = result[result.length - 1];
    
      if (lastElement !== el) result.push(el);
  }
    
  return result;
}
  • μŠ€ν„°λ”” λ¦¬λ”λ‹˜μ΄ μ˜¬λ €μ£Όμ‹  풀이. μŠ€νƒ ꡬ쑰λ₯Ό κ°€μ§„ 풀이닀.
  • λ‚˜λŠ” μš”μ†Œλ₯Ό λΉΌκ³  λ„£λŠ” μž‘μ—…κΉŒμ§€ 무쑰건 μžˆμ–΄μ•Ό ν•˜λŠ”μ€„ μ•Œμ•˜λŠ”λ° κ·Έκ²Œμ•„λ‹ˆκ³  자료ꡬ쑰λ₯Ό μ΄ν•΄ν•˜κ³  κ·Έ κ΅¬μ‘°λŒ€λ‘œ 섀계λ₯Ό ν•˜λ©΄ λœλ‹€λŠ” κ±Έ μ•Œμ•˜λ‹€..
  • ν•΄λ‹Ή λ¬Έμ œλŠ” arr 배열을 μˆœνšŒν•˜λ©΄μ„œ elκ³Ό stack 역할을 ν•˜λŠ” result λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μš”μ†Œμ™€ 비ꡐ해 λ‹€λ₯΄λ‹€λ©΄ pushν•΄μ£ΌλŠ” ν˜•μ‹μ΄λ‹€.
  • μŠ€νƒμ΄ ν•˜λ‚˜μ”© ν•˜λ‚˜μ”© μŒ“μ΄λŠ” ν˜•μ‹μ΄ μŠ€νƒκ΅¬μ‘°μ™€ μœ μ‚¬ν•˜λ‹€!! (pop을 μ΄μš©ν•΄ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό μ œκ±°ν•˜μ§€λŠ” μ•Šμ•„λ„ λΉ„κ΅ν•΄μ„œ μ‚¬μš©)

stack의 ꡬ쑰 LIFO