반응형
코드를 보기 전에: 이 문제는 정렬문제다.
그런데 나는 정렬을 사용해 풀다가 포기하고 브루트포스 알고리즘 처럼 문제를 풀었는데 풀렸다.
정렬을 사용 안하고 푼 정렬..? 홍철 없는 홍철 팀 같다
출력:첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다.
요즘 항상 무슨 함수를 사용할지 모르기때문에 헤더는 stdio,stdlib,string을 사용하는것 같다.
입력받는것이 나이와 이름이므로 구조체를 이용했다.
1
2
3
4
5
6
7
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct p {
int age;
char name[201];
}w;
|
cs |
메인 함수에서는 회원의 수를 입력받고, 반복문을 사용해 회원들의 나이와 이름을 입력받았다.
1
2
3
4
5
6
7
8
|
int main()
{
int num;
scanf("%d", &num);
for (int a = 0; a < num; a++)
{
scanf("%d %s", &member[a].age, member[a].name);
}
|
cs |
이중반복문과 조건문을 사용했다.
먼저 회원들의 나이가 1살부터 200살이므로, 먼저 나오는 반복문을 1부터 200까지로 설정하고
그 다음에 회원들의 나이와 앞에 있는 반복문의 숫자를 비교하도록 반복문과 조건문을 사용했다.
조건문에서 true가 되면 회원의 나이와 이름을 출력하도록 했다.
1
2
3
4
5
6
7
8
|
for (int a = 1; a <= 200; a++)
{
for (int b = 0; b < num; b++)
{
if (a == member[b].age)
printf("%d %s\n", member[b].age, member[b].name);
}
}
|
cs |
Fullcode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct p {
int age;
char name[201];
}w;
w member[100001];
int main()
{
int num;
scanf("%d", &num);
for (int a = 0; a < num; a++)
{
scanf("%d %s", &member[a].age, member[a].name);
}
for (int a = 1; a <= 200; a++)
{
for (int b = 0; b < num; b++)
{
if (a == member[b].age)
printf("%d %s\n", member[b].age, member[b].name);
}
}
}
|
cs |
반응형