[문제]

n개의 숫자가 입력되면, 다음과 같이 크기를 비교한 후 양식에 맞춰 출력하시오.

예를 들어, 1 2 3 2 1 이라는 숫자가 입력되면,

첫 번째 1과 나머지 2, 3, 2, 1을 비교하면 1 < 2,  1 < 3, 1 < 2, 1 = 1 이므로 < < < = 를 출력한다.

두 번째 2와 나머지 1, 3, 2, 1을 비교하면 2 > 1, 2 < 3, 2 = 2, 2 > 1 이므로 > < = > 를 출력한다.

세 번째 3과 나머지 1, 2, 2, 1을 비교하면 3 > 1, 3 > 2, 3 > 2, 3 > 1 이므로 > > > > 를 출력한다.

같은 방법으로 네 번째는 > = < >, 다섯번째는 = < < < 를 출력한다.

이와 같은 방식의 대소 비교 결과를 출력하시오. 

 

[입력]

첫째 줄에 숫자의 개수 n이 입력된다. ( 2 <= n <= 1000)

다음 줄에 n개의 숫자 k가 공백으로 입력된다.( k는 int범위)

[출력] 

샘플 출력 양식에 맞추어 비교 결과를 출력한다.

 

[입력예시]

5

1 2 3 2 1

[출력예시]

1: < < < =

2: > < = >

3: > > > >

4: > = < >

5: = < < <

 

[코드]

#include <stdio.h>

int main()
{
	int n, k[1000], i, j;

	scanf("%d", &n);

	for (i = 0; i < n; i++)
		scanf("%d", &k[i]);

	for (i = 0; i < n; i++) {
		printf("%d: ", i+1);
		for (j = 0; j < n; j++) {
			if (i == j)
				continue;
			if (k[i] > k[j])
				printf("> ");
			else if (k[i] < k[j])
				printf("< ");
			else
				printf("= ");
		}
		printf("\n");
	}

	return 0;
}

 

[문제 설명] 

주현이 엄마는 주현이를 영재로 키우기 위해 매일 혹독한 기억력 테스트를 하고 있다.

N개의 숫자를 먼저 말해주고, M개의 질문을 하면서 그 숫자가 있었는지 없었는지 테스트한다.

만약 있었다면 1을 출력하고, 없었다면 0을 출력한다.

이번에는 주현이가 좋아하는 3단 합체 변신로봇 '또봇 트라이탄'이 선물로 걸려있다.

주현이를 도와 줄수 있는 프로그램을 만드시오.

 

[입력]

첫째줄에 N이 입력된다. (1 <= N <= 10,000,000)

둘째 줄에 N개의 숫자가 공백으로 구분되어 차례대로 입력된다. ( 데이터값의 범위 : 1 ~ 10,000,000)

셋째줄에 질문의 수 M이 입력된다. ( 1 <= M <= 100,000)

넷째 줄에 M개의 질문이 입력된다. 

[출력]

M개의 각각의 질문에 대해 그 숫자가 있었으면 1을 출력, 없었으면 0을 하나씩 차례대로 출력한다.

 

[입력 예시]

5

2 52 23 55 100

4

5 2 55 99

[출력 예시]

0 1 1 0

[코드업 제출 소스]


#include &It;studio&It;
 
int main(){
 
    int N,M;
    int arr[10000001] = {};
    int num;
 
    scanf("%d", &N);
    for (int i = 0; i < N; i++)
    {
        scanf("%d", &num);
        arr[num] = 1;
    }
    
    scanf("%d", &M);
    for (int i = 0; i < M; i++)
    {
        scanf("%d", &num);
        printf("%d ", arr[num]);
    }
    return 0; 
}
 

[Visual Studio 버전 소스]

#include<studio.h>

int main()
{
	int i, j, N, M, cnt=0;
	int* num, * quest;

	scanf_s("%d", &N);

	num = (int*)malloc(sizeof(int) * N);

	for (i = 0; i < N; i++)
		scanf_s("%d", num + i);

	scanf_s("%d", &M);

	quest = (int*)malloc(sizeof(int) * M);

	for (i = 0; i < M; i++)
		scanf_s("%d", quest + i);

	for (i = 0; i < M; i++) {
		for (j = 0; j < N; j++) {
			if (*(quest + i) == *(num + j)) {
				cnt++;
				break;
			}
		}
		printf("%d ", cnt);
		cnt = 0;
	}

	free(num);
	free(quest);

	return 0;
}

[문제]

C/C++언어에서 가장 기본적인 명령인 출력문이다.

printf()를 이용해 다음 단어를 출력하시오.

Hello

 

[입력]

입력 없음

[출력]

Hello

 

[코드] 

#include<stdio.h>

int main(void) {
    printf("Hello");
    return 0;
}

 

+ Recent posts