문제 설명
정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 return 하도록 solution 함수를 완성해주세요. 음수가 없다면 -1을 return 합니다.
제한사항
- 5 <= num_list의 길이 <= 100
- -10 <= num_list의 원소 <= 100
입출력 예
num_list | result |
[12, 4, 15, 46, 38, -2, 15] | 5 |
[13, 22, 53, 24, 15, 6] | -1 |
class Solution {
public int solution(int[] num_list) {
int answer = -1;
for (int i = 0; i < num_list.length; i++) {
if (num_list[i] < 0) {
answer = i;
break;
}
}
return answer;
}
}
answer를 -1로 초기화합니다. 이후 조건에 부합하지 않는다면 else 없이 -1을 바로 반환하기 위함입니다.
for문이 num_list의 길이만큼 순회합니다. if문에서 만약 num_list의 i번째 인덱스가 0보다 작다면 이는 문제에서 원하는 음수라는 뜻입니다. answer에 i를 할당합니다. 조건을 충족하면 바로 for문을 빠져나오기 위해 break를 이용합니다. 만약 배열에 음수가 하나라면 break가 없어도 올바른 답이 나오지만, 만약 음수가 두 개 이상이라면 첫 번째 음수가 아닌 마지막 음수를 반환할 것입니다. 또한 문제에서 원하는 답을 찾았다면 이후의 불필요한 연산을 중지하여 메모리 낭비를 막아야 합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] n 번째 원소까지(java) (0) | 2023.04.30 |
---|---|
[프로그래머스 코딩테스트] n 번째 원소부터(Java) (0) | 2023.04.30 |
[프로그래머스 코딩테스트] 카운트 다운(Java) (0) | 2023.04.30 |
[프로그래머스 코딩테스트] 배열 만들기 1(Java) (0) | 2023.04.29 |
[프로그래머스 코딩테스트] 문자열의 앞의 n글자(Java) (0) | 2023.04.29 |