본문 바로가기

Programming/algorithm

[algorithm] 배열 요소 중 누락된 부분 찾기


배열 요소 중 누락된 부분 찾기


문제

임의의 크기의 배열 A[N-1]가 있다. 배열의 길이 N은 입력으로 받는다. 

길이 N을 입력한 후 배열 A[N-1]의 배열 요소를 임의의 정수로 입력한다. 

A[N-1] 배열에 1 부터 N까지의 정수가 모두 들어가 있어야 한다고 가정한다면 입력된 배열에서 가정에 어긋난 값을 출력하라


1. 배열의 길이 N 2. 배열요소 N개의 값


입력 샘플

1,2,1,3,2


출력 샘플

(1부터 N 중에서 누락된 요소)

4,5


문제 풀이

package algorithm;

 

import java.io.*;

 

public class Main {

    private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 

    public static void main(String[] args) throws IOException {

        int n = Integer.parseInt(br.readLine());

        String[] inputArr = br.readLine().split(",");

        int[] tempArr = new int[n];

        boolean[] occurArr = new boolean[n];

        for (int i = 0; i < n; i++) {

               tempArr[i] = Integer.parseInt(inputArr[i]);

               occurArr[tempArr[i] - 1] = true;

        }

        boolean isFirst = true;

        for (int i = 0; i < n; i++) {

            if (!occurArr[i]) {

                System.out.print(isFirst ? (i + 1) : "," + (i + 1));

                isFirst = false;

            }           

        }

    }

}