본문 바로가기
Baekjoon/단계별로 풀어보기

[단계05] 1차원 배열 (7문제)

by 해적거북 2020. 12. 17.
728x90

www.acmicpc.net/step/6

 

● [문제번호 10818] 최소, 최대

#include <stdio.h>

int main()
{
    int N, num[1000000];
    scanf("%d", &N);
    
    for(int i = 0; i < N; i++)
        scanf("%d", &num[i]);
    
    int max = num[0];
    int min = num[0];
    for(int i = 1; i < N; i++)
    {
        if(max < num[i])
            max = num[i];
        if(min > num[i])
            min = num[i];
    }
    
    printf("%d %d", min, max);
    
    return 0;
}

 

● [문제번호 2562] 최댓값

#include <stdio.h>

int main()
{
    int num[9];
    
    for(int i = 0; i < 9; i++)
        scanf("%d", &num[i]);
    
    int max = num[0];
    int location = 1;
    for(int i = 1; i < 9; i++)
        if(max < num[i])
        {
            max = num[i];
            location = i + 1;
        }
   
    
    printf("%d\n%d", max, location);
    
    return 0;
}

 

● [문제번호 2577] 숫자의 개수

#include <stdio.h>

int main()
{
    int num[10] = {0};
    int answer = 1;
    
    for(int i = 0; i < 3; i++)
    {
        int temp;
        scanf("%d", &temp);
        answer *= temp;
    }
    
    while(answer > 0)
    {
        num[(answer % 10)]++;
        answer /= 10;
    }
    
    for(int i = 0; i < 10; i++)
        printf("%d\n", num[i]);
    
    return 0;
}

 

● [문제번호 3052] 나머지

#include <stdio.h>

int main()
{
    int num[10];
    
    for(int i = 0; i < 10; i++)
    {
        int temp;
        scanf("%d", &temp);
        num[i] = temp % 42;
    }
    
    int count = 10;
    for(int i = 0; i < 10; i++)
        for(int j = 0; j < i; j++)
            if(num[i] == num[j])
            {
                count--;
                break;
            }
    
    printf("%d", count);
    
    return 0;
}

 

● [문제번호 1546] 평균

#include <stdio.h>

int main()
{
    int N;
    scanf("%d", &N);
    
    int num[1000];
    int M = 0;
    for(int i = 0; i < N; i++)
    {
        scanf("%d", &num[i]);
        if(num[i] > M)
            M = num[i];
    }   
    
    double average = 0;
    for(int i = 0; i < N; i++)
        average += ((double)num[i] / M * 100);
    
    printf("%.9lf", average / N);
    
    return 0;
}

 

● [문제번호 8958] OX퀴즈

#include <stdio.h>
#include <string.h>

int main()
{
    int N;
    scanf("%d", &N);
    
    for(int i = 0; i < N; i++)
    {
        char temp[80];
        scanf("%s", temp);
        
        int score = 0;
        int scoretemp = 1;
        
        for(int j = 0; j < strlen(temp); j++)
        {
            if(temp[j] == 'O')
            {
                score += scoretemp;
                scoretemp++;
            }
            else if(temp[j] == 'X')
                scoretemp = 1;
        }
        
        printf("%d\n", score);
    }

    return 0;
}

 

● [문제번호 4344] 평균은 넘겠지

#include <stdio.h>
#include <string.h>

int main()
{
    int C;
    scanf("%d", &C);
    
    for(int i = 0; i < C; i++)
    {
        int N;
        scanf("%d", &N);
        
        int num[1000];
        double average = 0;
        for(int j = 0; j < N; j++)
        {
            scanf("%d", &num[j]);
            average += num[j];
        }
        
        average /= N;
        
        int count = 0;
        for(int j = 0; j < N; j++)
            if(average < num[j])
                count++;
                
        printf("%.3lf%\n", (double)count / N * 100);
    }

    return 0;
}
728x90

댓글