본문 바로가기
공부

(프로그래머스)로또의 최고 순위와 최저 순위

by 하프상 2021. 10. 8.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// lottos_len은 배열 lottos의 길이입니다.
// win_nums_len은 배열 win_nums의 길이입니다.
int* solution(int lottos[], size_t lottos_len, int win_nums[], size_t win_nums_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* answer = (int*)malloc(sizeof(int)*2);
    int rank[2] = {0,};
    int same_count = 0;
    int zero_count = 0;
    
    for(int i=0; i<lottos_len; i++)
    {
        if(lottos[i] == 0)
        {
            zero_count++;
        }
        else
        {
            for(int j=0; j<win_nums_len; j++)
            {
                if(lottos[i] == win_nums[j])
                {
                    same_count++;
                }
            }
        }
    }
    rank[0] = zero_count + same_count;
    rank[1] = same_count;
        
    for(int i=0; i<2; i++)
    {
        switch(rank[i])
        {
            case 6 :
                answer[i] = 1;
                break;
            case 5 :
                answer[i] = 2;
                break;
            case 4 :
                answer[i] = 3;
                break;
            case 3 :
                answer[i] = 4;
                break;
            case 2 :
                answer[i] = 5;
                break;
            default : 
                answer[i] = 6;
        }
    }
    
    return answer;
}

'공부' 카테고리의 다른 글

C++_TIL  (0) 2021.10.13
(프로그래머스)음양 더하기  (0) 2021.10.08
(프로그래머스)없는 숫자 더하기  (0) 2021.10.06
(프로그래머스)숫자 문자열과 영단어  (0) 2021.10.06
최소공배수(lcm), 최대공약수(gcd)  (0) 2018.03.13

댓글