728x90
📍 프로그래머스 1단계 - 제일 작은 수 제거하기
⚡️ 나의 풀이
가장 작은 수를 찾는 문제인데, min
함수의 활용법을 잘 몰랐다. 그래서 반복문을 선언해서 최솟값을 하나씩 찾는 방법과 해당 최솟값을 indexOf
로 몇 번째 위치해있는지 찾았다.
여담으로 처음에 Math.min
을 사용하니까 NaN
이 뜨길래 왜 그러지? 하니까 min
함수는 개별 숫자를 받는데 배열을 넣어서 NaN
이 뜬다고 했다. 해결방법으로는 spread
연산자를 넣거나 Math.min.apply(null, arr)
처럼 apply
함수를 사용해서 배열 내에서도 min
값을 찾을 수 있다.
// 첫 번째 코드
function solution(arr) {
let minValue = 9999;
for (let item of arr) {
if (minValue > item) {
minValue = item;
}
}
const filterArr = arr.filter((item) => item !== minValue);
if (filterArr.length === 0) {
return [-1];
} else {
return filterArr;
}
}
// 두 번째 코드
function solution(arr) {
if (arr.length <= 1){
return [-1]
}
const minTarget = Math.min(...arr)
arr.splice(arr.indexOf(minTarget), 1)
return arr
}
반응형
'Algorithm > 프로그래머스(Programmers)' 카테고리의 다른 글
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 하샤드 수 (0) | 2021.07.28 |
---|---|
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 짝수와 홀수 (0) | 2021.07.27 |
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 문자열을 정수로 바꾸기 (0) | 2021.07.23 |
[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - k번째 수 (0) | 2021.07.22 |
[ 파이썬(python) ] 프로그래머스 level2 - 기능 개발 (0) | 2021.07.02 |
댓글