INK study
article thumbnail
Published 2023. 7. 13. 15:13
[배열] 스파이 찾기 Coding Test/Java

스파이 찾기

https://campus.programmers.co.kr/tryouts/90593/challenges

- 문제 (난이도 하)

준식이는 수열 A[1], A[2], ..., A[N] (N ≥ 3) 을 가지고 있다. 이 수열에서 단 한 개의 수를 제외하고 나머지 수는 모두 같다. 그 수는 수열에서 몇 번째에 위치할까?

 

- 입력

첫째 줄에 테스트 케이스의 개수 T 가 주어진다.

각 테스트 케이스의 첫째 줄에 수열의 길이 N (3 ≤ N ≤ 100)이 주어진다.

둘째 줄에 A[1], A[2], ..., A[N]이 주어진다. 수열의 i번째 원소는 정수 A[i] (1 ≤ A[i] ≤ 100)이다.

주어지는 수열에서 단 한 개의 수를 제외하고 나머지 수는 모두 같다.

 

- 출력

각 테스트 케이스마다 문제의 정답이 수열에서 몇 번째에 위치하는지 출력한다.

 

- 풀이

자바로 해결

첫 인덱스, 마지막 인덱스에 해당하는 원소를 비교한 후, arr[0], arr[size-1] 두 원소가 같다면 그 사이 값들 중에 스파이를 탐색하였다.

두 원소가 다르다면 arr[1]와 비교하여 다른 것을 출력하도록 하였다.

 



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class spy_0713 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
        int case1 = Integer.parseInt(br.readLine());
        for (int i = 0;i<case1;i++){
            int size = Integer.parseInt(br.readLine());
            String [] A = br.readLine().split(" ");
            int [] A_int = new int[size];
            for (int j = 0;j<size;j++){
                A_int[j] = Integer.parseInt(A[j]);
            }
            int start = A_int[0];
            int end = A_int[size-1];
            int result_index = 0;
            for (int j = 1;j<size-1;j++){
                int temp = A_int[j];
                if(start != end){
                    if(temp == start){
                        result_index = size;
                    }
                    else {
                        result_index = 1;

                    }
                    break;
                }
                else{
                    if(temp != start){
                        result_index = j+1;
                        break;
                    }
                }
            }
            System.out.println(result_index);

        }
    }
}

profile

INK study

@ongsimi_

읽어주셔서 감사합니다!