본문 바로가기
C/SWEA

[SWEA] #1204. 최빈수 구하기

by 단월໒꒱ 2021. 10. 10.

Difficulty 2

 

[문제]

 

 

[코드 및 결과]

 

 

 

#include <stdio.h>

int main(void) {
    int T, test_case, score = 0;
    
    scanf("%d", &T);
    
    for (int t = 0; t < T; t++) {
        int count[1000] = {0};
        
        scanf("%d", &test_case);
        
        for (int i = 0; i < 1000; i++) {
            scanf("%d ", &score);
            count[score] += 1;
        }
        
        int max = 0;
        int max_num = 0;
        
        for (int k = 0; k < 1000; k++) {
            if (max < count[k]) {
                max = count[k];
                max_num = k;
            }
            
            else if (max == count[k]) {
                if (k > max_num) {
                    max_num = k;
                }
            }
        }
        
        printf("#%d %d\n", t+1, max_num);
        
    }
    return 0;
}

 

 

 

 

[설명]

int형 T, test_case, score을 선언하고 score은 0으로 초기값을 잡아준다.

총 입력할 테스트 케이스인 T를 입력 받고 T만큼 for문을 실행해준다.

문제 조건에 따라 안에서 다시 개별로 테스트케이스를 입력받는 부분도 넣어준다.

for문으로 i가 0부터 1000까지 수를 입력 받으면서 입력 받은 score에 해당하는 인덱스를 갖는 배열 count의 값에 +1을 해준다.

아래는 max와 max_num을 0으로 초기화했는데, max는 배열 count에서 최대값을 갖는 수를 찾기 위한 변수이고 max_num은 count에서 최댓값을 갖는 인덱스값, 즉 가장 많이 나온 점수를 의미한다.

for문과 if문을 사용하여 max가 count값보다 작을 경우 max에는 count값을 저장하고 max_num에는 그 인덱스 값이 저장되도록 한다.

문제 조건에 따라 최빈값이 같을 경우 점수가 큰 값을 최빈값으로 삼는다고 했으므로 값이 같을 경우 인덱스값과 max_num을 비교해서 더 큰 값을 max_num에 저장한다.

마지막으로 printf 함수로 테스트케이스와 위에서 구한 최빈 점수를 출력한다.

 

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=3 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

'C > SWEA' 카테고리의 다른 글

[SWEA] #1970. 쉬운 거스름돈  (0) 2021.11.06
[SWEA] #2046. 스탬프 찍기  (0) 2021.11.06
[SWEA] #1933. 간단한 N의 약수  (0) 2021.10.07
[SWEA] #1948. 날짜 계산기  (0) 2021.10.01
[SWEA] #2025. N줄덧셈  (0) 2021.09.27

댓글