첫 풀이
배열arr
는 0~9의 숫자로 이루어 져 있으며, 중복되는 다른 요소들을 모두 제거하여 하나씩의 요소들만 출력하는 문제이다.
const solution = (arr) => {
let x ;
let answer = [];
for(let i=0; i<arr.length; i++){
if(x !== arr[i]){
answer.push(arr[i])
x = arr[i]
}
}
return answer;
}
풀이 방법으로는 아무값도 들어있지 않은 변수 x
와 answer
라는 배열을 미리 선언해두고,
반복문을 통해 배열의 다음 인덱스와 비교하여 값이 달라질때마다 answer로 해당 값을 하나씩 push
할 수 있도록 코드를 구성했다.
결과는 가볍게 통과!
사실 풀이 개선이라기 보다는 for
반복문을 forEach
로 변경한것이 전부이다.
어짜피 배열의 모든 요소들을 한번씩 순회해야하기 때문에, 굳이 for
반복문이 아닌 forEach
반복문을 사용하는 것이다.
const solution = (arr) => {
let x ;
let answer = [];
arr.forEach((item) => {
if(x !== item){
answer.push(item)
x = item
}
})
return answer;
}
어짜피 비슷한 방식의 풀이라서 그런지 테스트 케이스에서 걸린 시간도 감소한것이 아니라 오히려 증가(?) 한 모습을 보이기도 한다..