28개의 값을 받아 배열에 저장한다. >> 1을 입력받으면 1번째 인덱스(0)에, 2을 입력받으면 2번째 인덱스(1)에 저장
for문을 30번 반복하며 0이 저장된 인덱스+1을 출력한다.
코드
import java.util.*;
public class Main {
public static void main(String[] args){
//길이가 30인 배열을 선언하고 모두 0으로 초기화
//28명 입력받아서 각 인덱스에 저장하기
//데이터가 0인 인덱스번호+1값을 출력
Scanner sc = new Scanner(System.in);
int N = 30;
int[] arr = new int[N];
for(int i=0; i<arr.length; i++) {
arr[i] = 0;
}
for(int i=0; i<arr.length-2; i++) {
int num = sc.nextInt();
arr[num-1] = num;
}
for(int i=0; i<arr.length; i++) {
if(arr[i]==0)
System.out.println(i+1);
}
}
}
Note
Scanner sc = new Scanner(System.in);을 두 번째 for문 안에 넣어서 런타임 에러(NoSuchElement)가 발생하였다.
마지막 for문의 반복 횟수를 arr.length-2로 설정하여 런타임 에러(ArrayIndexOutofBonds)가 발생하였다.