import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 배열의 총 길이값 입력 (입력1)
int[] array = new int[N]; // 배열의 길이를 적용
for (int i = 0; i < array.length; i++) {
int num = sc.nextInt(); // 배열값 대입 (입력2)
array[i] = num;
}
int v = sc.nextInt(); // 출력하려는 정수 v 입력 (입력3)
int vcount = 0; // 정수 카운트용 변수
for (int i = 0; i < array.length; i++) {
if (v == array[i]) { // 입력된 v와 같은 값이 배열에 존재하면 vcount++
vcount++;
}
}
sc.close();
System.out.println(vcount); // 카운트값 출력
}
}
처음에는 배열에 들어가는 값이 0부터 9까지만 되는줄 알고 단순히 배열을 2개 생성하여
배열1
에는 입력받은 값을 저장하는 용도로,
배열2
에는 0,1,2,3...번째 자리에 각각 반복문을 사용하여배열1[i]
값을 넣으려고 했었으나
( 코드로 표현하자면배열2[배열1[i]]++;
),
두번째, 세번째 줄에 입력되는 값들은 모두 -100≤N≤100
의 범위를 가진다는 조건때문에 위의 방법을 사용할 수 없어서 간단히 if (v == array[i])
조건문으로 카운트가 1씩 반복되도록 코드를 구성하였다.
하지만 위의 경우 Scanner 함수를 사용하였기 때문에 시간이 다소 오래걸린다.
다음문제부터는 'BufferedReader'
를 사용하여 걸리는 시간을 단축하도록 하자.