Backdrop

프로그래머스 ▸ 코딩 기초 트레이닝

첫 번째로 나오는 음수
0

문제 설명

정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 return하도록 solution 함수를 완성해주세요. 음수가 없다면 -1을 return합니다.

제한사항

  • 5 ≤ num_list의 길이 ≤ 100
  • -10 ≤ num_list의 원소 ≤ 100

입출력 예

num_listresult
[12, 4, 15, 46, 38, -2, 15]5
[13, 22, 53, 24, 15, 6]-1

입출력 예 설명

입출력 예 #1

  • 5번 인덱스에서 음수가 처음 등장하므로 5를 return합니다.

입출력 예 #2

  • 음수가 없으므로 -1을 return합니다.

풀이

이론

Array.prototype.findIndex()

findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환해요. 만족하는 요소가 없으면 -1을 반환해요.

findIndex(callbackFn[, thisArg])
  • callbackFn : 각 요소를 시험할 함수. 다음 세 가지 인수를 받아요.
    • element : 배열에서 처리중인 현재 요소
    • index : 배열에서 처리중인 현재 요소의 인덱스
    • array : findIndex() 함수가 호출된 배열
  • thisArg : 선택 사항. callbackFn 함수 내부에서 this로 사용할 값
const array1 = [5, 12, 8, 130, 44];
 
const isLargeNumber = element => element > 13;
 
console.log(array1.findIndex(isLargeNumber));
// Expected output: 3

코드

function solution(num_list) {
  return num_list.findIndex(n => n < 0);
}