한 걸음씩
[프로그래머스][JS] 제일 작은 수 제거하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12935
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 과정1
function solution(arr) {
if (arr.length >= 2){
const min = Math.min(...arr)
arr.splice(arr.indexOf(min), 1)
return arr
}else{
return [-1]
}
}
배열의 최솟값을 구할 때 주의할 점!
arr = [1, 2, 3]
Math.min(arr) = NaN → 왜 이런 결과를 반환할까? arr이라는 배열을 하나의 인자로 받아들이는데 배열은 타입이 숫자가 아니기 때문에 NaN이라는 결과를 반환하는 것!
Math.min(... arr) = 1 → 그래서 최솟값, 최댓값을 구할 때 배열 자체가 아니라 spread를 통해 찾아야 한다
풀이 과정2
function solution(arr) {
const minIdx = arr.indexOf(Math.min(...arr))
const array = arr.filter((_, index) => index !== minIdx)
if (array.length){
return array
}else{
return [-1]
}
}
배열 속 최솟값 인덱스와 배열을 차례대로 순회하면서 나오는 인덱스를 비교하여 일치하지 않는 경우에만 걸러내서 반환
리뷰
문제가 어려운 건 아니고 사소한 실수이지만 실수가 반복되는 것 같아서 기록으로 남김!
'Programmers' 카테고리의 다른 글
[프로그래머스][JS] 길이에 따른 연산 (0) | 2023.04.24 |
---|---|
[프로그래머스][JS] 최대공약수와 최소공배수 (0) | 2023.04.12 |
[프로그래머스][JS] 정수 제곱근 판별 (0) | 2023.04.07 |
[프로그래머스][JS] 최댓값 만들기 (2) (0) | 2023.04.07 |
[프로그래머스][JS] 주사위의 개수 (0) | 2023.04.07 |