프로그래머스 첫 번째로 나오는 음수 자바스크립트 알고리즘 풀이
문제
나의 풀이
아이디어
includes
메서드를 사용하면 부분 문자열인지 여부를 boolean 값으로 반환한다.
결과를 숫자로 형변환하면 조건문 없이 정답을 반환할 수 있다.
코드
function solution(num_list) {
for(let i = 0; i < num_list.length; ++i) {
if(num_list[i] < 0) {
return i;
}
}
return -1;
}
다른 사람 풀이
const solution = num_list => num_list.findIndex(v => v < 0)
findIndex
메서드를 활용한 풀이.
알게 된 것
Array.prototype.findIndex()
findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환합니다.
find
메서드처럼 주어진 조건을 만족하는 첫 번째 요소를 반환하나, find는 값 자체를 반환하는 반면 findIndex는 값의 인덱스를 반환해준다.