본문 바로가기
CodeUp 기초 100제/C

CodeUp[코드업] C언어 1093 ~ 1095 : [기초 - 1차원 배열]

by En_Geon 2019. 12. 9.

1093 : [기초 - 1차원 배열] 이상한 출석 번호 부르기 1

문제 설명 : https://codeup.kr/problem.php?id=1093

 

출석 번호를 n번 무작위로 불렀을 때, 각 번호가 불린 횟수를 각각 출력하는 문제다.

 

  • 배열을 배운다.

 

배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다.

여기서 중요한 것은 같은 타입이어야 한다는 것이며, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다.

 

배열의 선언

타입 변수 이름 [ ] = { };

 

int a [24] = { };    // 0번부터 23번까지 모두 0으로 초기화된다.

int a [24] = { 0 };  // 0번부터 23번까지 모두 0으로 초기화된다.

int a [24] = {1, 2, 3};  // 1, 2, 3 이 순서대로 들어가고 나머지는 모두 0으로 초기화된다.

int a [3] = {1, 2, 3};   // 1, 2, 3이 순서대로 저장된다.

int a [3] = {1, 2, 3, 4}  // 방을 3개 만들고 값을 4개를 집어넣는 것은 오류다.

 

더보기

 

#include    <stdio.h>

int main()
{
    int input, i, t;
    int x[10000] = { 0 };
    scanf("%d", &input);   // 개수 입력 받음
    
    for( i = 1; i <= input; i++)  // input만큼 입력 받음
    {
        scanf("%d", &t);  // 입력받아 t에 저장
        x[t] += 1;         // 들어있던 값에 1만큼 더해 다시 저장
    }
    
    for( i = 1; i <= 23; i++)   // 1 ~ 23번 배열에 저장되어 있는 값을 출력하는 반복문
        printf("%d ", x[i]);
    
    return 0;
}

 

1094 : [기초 - 1차원 배열] 이상한 출석 번호 부르기 2

문제 설명 : https://codeup.kr/problem.php?id=1094

 

출석 번호를 n번 무작위로 불렀을 때, 부른 번호를 거꾸로 출력하는 문제다.

 

더보기

 

#include   <stdio.h>

int main()
{
    int input, i;
    int x[10000] = { 0 };
    scanf("%d", &input);     // 몇 번 부르는지 개수 입력 
    
    for( i = 1; i <= input; i++)  // input만큼 입력 받음
    {
        scanf("%d", &x[i]);    // 입력받은 데이터를 순서대로 배열에 저장
    }
    for(i = input; i >= 1; i--)  // input부터 i가 1이 될 때까지 밑 구문을 실행 후 감소식 실행
        printf("%d ", x[i]);    // input부터 1까지 작아지는 것이므로 위 for문과는 반대로 출력됨
        
    return 0;
}

 

1095 : [기초 - 1차원 배열] 이상한 출석 번호 부르기 3

문제 설명 : https://codeup.kr/problem.php?id=1095

 

출석을 부른 번호 중 가장 작은 번호를 출력하는 문제다.

 

더보기

 

#include     <stdio.h>

int main()
{
    int input, i;
    int x[10000] = { 0 };
    scanf("%d", &input);    // 선생님이 몇 번 부르는지
    
    for(i = 0; i < input; i++)  // 선생님이 부른 숫자만큼 반복 돌림
    {
        scanf("%d", &x[i]); // 선생님이 부른 숫자를 i번 배열에 넣음
        if(x[i] < x[0])     // i번 배열과 0번 배열을 비교함
            x[0] = x[i];    // i번 배열이 0번 배열보다 작을 경우 i번 배열 값을 0번에 넣음
    }
    
    printf("%d", x[0]);     // 0번 배열을 출력함
    return 0;
}

댓글