[문제 바로가기]
연습월간 코드 챌린지 시즌3 > 없는 숫자 더하기 (Lv.1)
[ 문제 파악 ]
핵심 : 배열에서 없는 수만 더해서 return 하기 !
[ 적용한 풀이 ]
1. 배열 자체가 가지는 index를 사용
2. indexOf(값)의 결과값이 0이하인 것만 answer에 더하기
function solution(numbers) {
let answer = 0;
for(let i = 0; i < 10; i++){
if(numbers.sort().indexOf(i) < 0){
answer +=i
}
}
return answer
}
sort()가 필요한가 싶어서 적용했었는데, 풀이 제출할때 성능체크해보니 그렇게 큰 차이는 나지 않았다.
(오히려 적용 안한 쪽이 균일하게 처리하는 것으로 보인다)


[해결 과정 중 실수한 부분 / 잡담]
처음에 다른 array를 만들어서 index가 있는 값은 1을 주고, 없으면 0을 주는 방식으로 해볼까 했는데
조금 적다보니 굳이 이렇게 안하고 바로 answer에 더해주면 되잖아! 하고 방향을 수정했다.
다른 사람 풀이에서 reduce를 이용한 풀이가 있었는데
그 풀이를 참고하고 MDN 문서를 다시 읽어보니
reduce에 대해서 조금 더 잘 이해할 수 있게 되었다.
'[개발] 코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 체육복 / Javascript (0) | 2022.04.27 |
---|---|
[프로그래머스] 모의고사 /Javascript (1) | 2022.04.23 |
[프로그래머스] K번째수 / Javascript (0) | 2022.04.21 |
[프로그래머스]소수 만들기 / Javascript (0) | 2022.04.20 |
[프로그래머스] 문자열 압축 / Javascript (0) | 2022.04.16 |
댓글