반응형
나의 풀이
아 이거 스택문제이구나 싶어서 바로 풀었는데 처음에는 시간초과가 났다.
배열의 크기가 1,00,000이하이기 때문에 가독성 조금 더 좋은 forEach로 충분히 커버가능할 것 같았지만 결과는 시간초과
그래서 결국 아래처럼 for문으로 바꾸고 나니 통과
여기서 의문이 들었다. for과 forEach의 속도 차이가 그렇게 크지 않기 때문에 크기 1,000,000정도는 간단한코드이기에 괜찮을 것 같았는데 이런결과가 나오다니 내가 둘의 차이를 제대로 모르는 것 같았다.
그래서 아래와 같은 글을 작성했다.
https://html-jc.tistory.com/648
[JS] for vs forEach
코딩테스트 문제를 풀다가 간단한 코드인데 for문으로 하면 통과인데 forEach문으로 하면 실패하는 문제가 있었다. for문이 더 빠르다는 것은 알고있었지만 어느정도 차이나는지 forEach가 무엇때문
html-jc.tistory.com
풀이 1)
function solution(arr){
const stack = []
for (let i = 0 ; i<arr.length; i++) {
if(stack.at(-1) !== arr[i]) {
stack.push(arr[i])
}
}
return stack
}
다른 사람 풀이
function solution(arr){
return arr.filter((val,index) => val != arr[index+1]);
}
와 속도도 내 코드보다 훨씬 빠르고 가독성도 더 좋다.
진짜 깔끔하게 잘 푼것 같다.
반응형
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스] level.2 기능개발 (0) | 2023.05.19 |
---|---|
[프로그래머스] level.2 조이스틱 ★ (0) | 2023.05.18 |
[프로그래머스] level.1 덧칠하기 (0) | 2023.05.16 |
[프로그래머스] level.1 추억 점수 (0) | 2023.05.16 |
[프로그래머스] level.1 크기가 작은 부분 문자열 (0) | 2023.04.25 |