문제 : 선생님은 출석부를 보고 번호를 부르는데, 학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다.
그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러 이름과 얼굴을 빨리 익히려고 하는 것이다.
출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.
정답 :
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int arr[23] = {};
int n;
int m;
scanf("%d",&n);
for (int i = 1; i <= n; i++)
{
scanf("%d ",&m);
arr[m - 1]++;
}
for (int i = 0; i < 23; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
먼저 int arr[23] = {}; 를 통해 배열을 모두 0으로 초기화한다.
그리고 n을 입력받아 n번 만큼 for문을 돌리는데, 이때 입력받은 m을 인덱스로 이용해 해당 배열의 값을 1만큼 증가시킨다.
그리고 마지막에 배열의 크기만큼 for문을 돌려 배열의 모든 요소를 출력한다.
'Programming Languages > C' 카테고리의 다른 글
[P4C] CodeUp 1097 : [기초-2차원배열] 바둑알 십자 뒤집기 (0) | 2021.02.25 |
---|---|
[P4C] CodeUp 1094 : [기초-1차원배열] 이상한 출석 번호 부르기2 (0) | 2021.02.25 |
[P4C] CodeUp 1091 : [기초-종합] 수 나열하기3 (0) | 2021.02.25 |
[P4C] CodeUp 1090 : [기초-종합] 수 나열하기2 (0) | 2021.02.25 |
[P4C] CodeUp 1085 : [기초-종합] 소리 파일 저장용량 계산하기 (0) | 2021.02.25 |