πŸ’‘ Level 1 | 같은 μˆ«μžλŠ” μ‹«μ–΄ (JavaScript)

rimmzΒ·2022λ…„ 7μ›” 1일
0

programmers

λͺ©λ‘ 보기
11/15
post-thumbnail

πŸ“Œ 문제

  • λ°°μ—΄ 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 ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.

https://programmers.co.kr/learn/courses/30/lessons/12906

πŸ“ 문제 풀이

function solution(arr) {
  let answer = [arr[0]];
  let num = arr[0]; // 첫번째 λ°°μ—΄μ˜ 인자 κΈ°μ€€ κ°’

  for (let i = 1; i < arr.length; i++) {
    if (num !== arr[i]) {
      num = arr[i];
      answer.push(num);
    }
  }

  return answer;
}
  • 첫번째 κΈ°μ€€ μΈμžκ°’ λ³€μˆ˜λ‘œ μ„€μ • ν›„ for문으둜 배열을 μˆœνšŒν•˜μ—¬ 같은 데이터 값이 아닐 μ‹œ answer 배열에 μΆ”κ°€

🌿 λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이

  • filterλ₯Ό μ‚¬μš©ν•˜μ—¬ 쀑볡 데이터 제거
function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}
profile
#μ˜μš•λ„˜μΉ˜λŠ”#πŸ’»#✨#FE#πŸ’ͺ🏻

0개의 λŒ“κΈ€