function solution(num_list) {
// for문을 돌면서 num_list에 음수가 있는지 확인
for (let i = 0; i < num_list.length; i++)
// 음수가 있으면 해당 index 반환 후 종료
if(num_list[i] < 0) return i;
// 반복문 종료 후 음수가 없을 경우 -1 반환
return -1;
}
처음엔 for문 안에서 if문을 실행 시켰는데 반환이 되지 않았다. 이유는 else 구문이 잘못 사용되었기 때문. 반복문의 첫 번째 반복에서 요소가 양수인 경우 else 블록이 실행되어 -1을 반환하고 함수가 종료되버린다. 즉, 첫 번째 요소만 확인하고 나머지 요소는 확인하지 않는 오류가 있어서 제대로 식이 작동하지 않았던 것.
function solution(num_list) {
// for문을 돌면서 num_list에 음수가 있는지 확인
for (let i = 0; i < num_list.length; i++) {
if(num_list[i] < 0) {
return i;
} else {
return -1;
}
}
}
위의 식처럼 작성하고 싶으면 아래처럼 수정하면 잘 작동된다. 결국 첫번 째 식과 같은 식인데 지금 쓴 식이 더 내 눈에 잘 들어온다.
function solution(num_list) {
for (let i = 0; i < num_list.length; i++) {
if (num_list[i] < 0) {
return i;
}
}
return -1;
}