멋쟁이 개발자의 블로그
[C/백준] 10871번 - X보다 작은 수 본문
문제 : 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력 : 첫째 줄에 N과 X가 주어진다(1 ≤ N, X ≤ 10,000). 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력 : X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
//틀린 풀이
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int n, x, i;
scanf_s("%d %d", &n, &x);
int a[10000];
srand(time(NULL));
for (i = 0;i < n;i++) {
a[i] = ((rand() % 10000)+1);
printf("%d ", a[i]);
}
printf("\n");
for (i = 0;i < n;i++) {
if (a[i] < x) printf("%d ", a[i]);
}
return 0;
}
처음에 문제를 잘못 이해해서
첫 번째 반복문에서 난수를 발생시켜서 수열을 만들고 배열에 저장한 뒤에,
두 번째 반복문에서 배열의 원소들 중 조건에 맞는 원소만 출력하려고 했는데
만들어지는 난수가 너무 커서 X보다 작은 수가 나오지 않았다...ㅋㅋㅋㅋ
알고보니 수열도 입력받는거였다.. 이런
//고친 코드
#include <stdio.h>
int main(void)
{
int n, x, i, a;
scanf_s("%d %d", &n, &x);
for (i = 0;i < n;i++) {
scanf_s("%d", &a);
if (a < x) printf("%d ", a);
}
return 0;
}
이렇게 간단히 되는걸....ㅠㅠ
'Language > C' 카테고리의 다른 글
[C/백준 10818] 최소, 최대 (0) | 2021.03.17 |
---|---|
[C/백준 1110] 더하기 사이클 (0) | 2021.03.16 |
[쉽게 풀어쓴 C언어 Express] 5장 수식과 연산자 Programming 문제 (0) | 2020.07.17 |
[쉽게 풀어쓴 C언어 Express] 4장 변수와 자료형 Programming 문제 (0) | 2020.07.10 |
[쉽게 풀어쓴 C언어 Express] 3장 C 프로그램 구성요소 Programming 문제 (0) | 2020.07.08 |