프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 첫 번째로 나오는 음수(Java)

Sigfriede 2023. 4. 30. 08:18

  문제 설명

  정수 리스트 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가 없어도 올바른 답이 나오지만, 만약 음수가 두 개 이상이라면 첫 번째 음수가 아닌 마지막 음수를 반환할 것입니다. 또한 문제에서 원하는 답을 찾았다면 이후의 불필요한 연산을 중지하여 메모리 낭비를 막아야 합니다.