😈 알고리즘/💻 백준

💻 10861번 문제 : X보다 작은 수 📕

Buᐢ༝ᐢy 2022. 9. 23. 11:04
10871번: X보다 작은 수
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/10871
#include <stdio.h>

int main()
{
	int N, X;
	scanf("%d%d", &N, &X);

	int A;
	for (int i = 0; i < N; i++)
	{
		scanf("%d", &A);

		if (A < X)
		{
			printf("%d ", A);
		}
	}
}
메모리 (KB)시간 (ms)코드 길이 (B)
11120175

#include <stdio.h>

int main()
{
	int N, X;
	scanf("%d%d", &N, &X);
	int A[10000];
	
	for (int i = 0; i < N; i++)
	{
		scanf("%d", &A[i]);
	}

	for (int i = 0; i < N; i++)
	{
		if (A[i] < X)
		{
			printf("%d ", A[i]);
		}
	}
}
메모리 (KB)시간 (ms)코드 길이 (B)
11120227

A를 10,000개까지 지정한 이유는

조건이 이랬기 때문이다.

이 코드도 맞았지만, 아직 배열에 대해 이해가 많이 부족하여 위 코드가 더 보기 쉽다. 게다가 이 코드는 for문도 2개라 위 코드가 더 효율적이다. 심지어 코드 길이도 위 코드가 짧다!

📕 오답 노트

#include <stdio.h>

int main()
{
	int N, X;
	scanf("%d%d", &N, &X);
	int A[10000];
	
	for (int i = 0; i < N; i++)
	{
		scanf("%d", &A[i]);
	}

	for (int i = 0; i < N; i++)
	{
		if (A[i] < X)
		{
			printf("%d", A[i]);
		}

		printf("\n");
	}
}

틀린 코드

문제를 잘 읽도록 하자!

개행이 아닌, 공백으로 출력해주어야 했다. 위 코드는 계속 개행해주는 것을 확인할 수 있다.


Uploaded by N2T