백준 - 1차원 배열

2022. 11. 12. 12:21백준 - C

728x90

백준의 1차원 배열 문제들을 C로 풀이한 것입니다.

1. 개수 세기

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int i, n, find, cnt = 0;
    int num[100];
    
    scanf("%d", &n);
    
    for(i = 0; i < n; i++){
        scanf("%d", &num[i]);
    }
    
    scanf("%d", &find);
    
    for(i = 0; i < n; i++){
        if(num[i] == find){
            cnt++;
        }
    }
    
    printf("%d", cnt);
    return 0;
}

성공

2. x 보다 작은 수

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int i, n, x;
    int a[10000];
    
    scanf("%d %d", &n, &x);
    
    for(i = 0; i < n; i++){
        scanf("%d", &a[i]);
    }
    
    for(i = 0; i < n; i++){
        if(a[i] < x){
            printf("%d ", a[i]);
        }
    }
    return 0;
}

성공

3. 최소, 최대

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int i, n, max = -1000000, min = 1000000;
    int a[1000000];
    
    scanf("%d", &n);
    
    for(i = 0; i < n; i++){
        scanf("%d", &a[i]);
    }
    
    for(i = 0; i < n; i++){
        if(a[i] > max){
            max = a[i];
        }
        
        if(a[i] < min){
            min = a[i];
        }
    }
    
    printf("%d %d\n", min, max);
    return 0;
}

성공

4. 최댓값

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

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

성공

5. 과제 안 내신 분...?

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int human, homework[30] = { 0 };
    int i;
    
    for(i = 0; i < 28; i++){
        scanf("%d", &human);
        homework[human - 1] = 1;
    }
    
    for(i = 0; i < 30; i++){
        if(homework[i] != 1){
            printf("%d\n", i + 1);
        }
    }
    return 0;
}

성공

6. 나머지

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int i, num, cnt = 0;
    int na[10], na_state[42] = { 0 };
    
    for(i = 0; i < 10; i++){
        scanf("%d", &num);
        na[i] = num % 42;
    }
    
    for(i = 0; i < 10; i++){
        if(na_state[na[i]] == 0){
            cnt++;
            na_state[na[i]] = 1;
            continue;
        }
    }
    printf("%d", cnt);
    return 0;
}

성공

7. 평균

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int n, i;
    float score[1000];
    float max = 0, sum = 0;
    
    scanf("%d", &n);
    
    for(i = 0; i < n; i++){
        scanf("%f", &score[i]);
    }
    
    for(i = 0; i < n; i++){
        if(score[i] > max){
            max = score[i];
        }
    }
    
    for(i = 0; i < n; i++){
        score[i] = score[i] / max * 100;
        sum += score[i];
    }
    
    printf("%f", sum / n);
    return 0;
}

성공

8. OX퀴즈

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int n, i, j, plus, score;
    char ox[80];
    
    scanf("%d", &n);
    
    for(i = 0; i < n; i++){
        scanf("%s", ox);
        
        j = 0;
        plus = 1;
        score = 0;
        while(ox[j] != '\0'){
            if(ox[j] == 'O'){
                score += plus;
                plus++;
            }
            else{
                plus = 1;
            }
            j++;
        }
        printf("%d\n", score);
    }
    return 0;
}

성공

9. 평균은 넘겠지

문제 해결 코드는 다음과 같습니다.

#include <stdio.h>

int main(void){
    int c, i, j;
    float n, score[1000];
    float avg, sum, count;
    
    scanf("%d", &c);
    
    for(i = 0; i < c; i++){
        scanf("%f", &n);
        sum = 0;
        count = 0;
        for(j = 0; j < n; j++){
            scanf("%f", &score[j]);
            sum += score[j];
        }
        
        avg = sum / n;
        
        for(j = 0; j < n; j++){
            if(score[j] > avg){
                count++;
            }
        }
        printf("%.3f%%\n", count / n * 100);
    }
    return 0;
}

성공

 

728x90

'백준 - C' 카테고리의 다른 글

백준 - 반복문  (0) 2022.11.12
백준 - 2차원 배열  (0) 2022.11.12
백준 - 주사위 세개  (0) 2022.10.28
백준 - 오븐 시계  (0) 2022.10.28
백준 - 알람 시계  (0) 2022.10.28