문제 설명

정수 배열 nums와 정수 n이 주어집니다.

이때 nums에서 n과 동일한 숫자 중 가장 작은 인덱스를 출력하는 프로그램을 구현하세요.

단, 인덱스는 0부터 시작하며, 일치하는 숫자가 없으면 -1을 출력하세요.


입력 형식

· nums : 정수 배열

· n : 정수


출력 형식

· 정수 배열에서 n이 나타나는 가장 작은 인덱스를 반환하세요.


제약 사항

· 0 <= nums <= 100

· 0 <= nums[i] <= 100

· 0 <= n <= 100


입출력 예시

· 예시1

  · 입력

      · nums = {1, 3, 5, 3, 2}

      · n = 3

  · 출력 : 1

  · 설명 : 3이 처음 나타난 인덱스 1을 반환

 

· 예시2

  · 입력

      · nums = {2, 5, 8, 0}

      · n = 3

  · 출력 : -1

  · 설명 : 3은 nums에 등장하지 않으므로, -1을 반환


작성 코드

class Solution252 {
    public int solution(int[] nums, int n) {

        int result = -1;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == n) {
                result = i;
                break;
            } else
                result = -1;
        }
        return result;
    }

    public static void main(String[] args) {
        Solution252 st = new Solution252();
        int[] nums = {1, 3, 5, 3, 2};
        int n = 3;
        System.out.println(st.solution(nums, n));

        int[] nums2 = {2, 5, 8, 0};
        int n2 = 3;
        System.out.println(st.solution(nums2, n2));
    }
}

 

정답 코드

class Solution {
    public int solution(int[] nums, int n) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == n) {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        Solution st = new Solution();
        int[] nums = {1, 3, 5, 3, 2};
        int n = 3;
        System.out.println(st.solution(nums, n));

        int[] nums2 = {2, 5, 8, 0};
        int n2 = 3;
        System.out.println(st.solution(nums2, n2));
    }
}