#include<iostream>usingnamespace std;
int X , N;
int arr[] = { 0 };
intmain(){
cin >> N >> X;
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
for (int i = 0; i < N; i++) {
if (arr[i] < X) {
cout << arr[i] << " ";
}
elsecontinue;
}
return0;
}
-> 내가 쓴 코드.
배열 arr의 크기를 N으로 설정하지 않았음.
즉, int arr[] = {0}; 로 선언하면 크기가 1인 배열이 생성된다. 이는 입력 받을 수 있는 숫자의 개수인 N보다 작기 때문에 런타임 에러가 발생한다.
따라서 배열 arr의 크기를 N으로 설정해주어야 함!
그러나, c++언어에서는, 배열의 크기는 상수로 선언해야하는데.. arr[N]표현은 안되지 않을까?
-> 그럼 그냥 문제에서 N이 최대가 10000이라고 했으니까
arr[10000]로 수정하면 간단해짐
<최종 수정>
#include<iostream>usingnamespace std;
intmain(){
int X, N;
cin >> N >> X;
int arr[10000];//최대로 가질 수 있는 N은 10000이므로for (int i = 0; i < N; i++) {
cin >> arr[i];
}
for (int i = 0; i < N; i++) {
if (arr[i] < X) {
cout << arr[i] << " ";
}
}
return0;
}