백준 2798번 블랙잭 in C

차민재·2022년 2월 14일
0
post-thumbnail

문제

N개의 카드가 있고 주어진 숫자 M을 넘지 않는 3개의 카드의 합을 구하는 문제.
A+B+C <= M 을 만족하는 최대 A+B+C를 구해라.

풀이

#include <stdio.h>

int main(void)
{
	int N,M;
    scanf("%d %d",&N,&M);
    int card[N];
    int a,b,c;
    int p,q,r;

    
    for(int i=0 ; i<N; i++)
    {
        scanf("%d",&card[i]);
    }   

    int result;
    int max = 0;

    for(a=0;a<N-2;a++)
    {
        p = card[a];
        for (b=a+1;b<N-1;b++)
        {
            q = card[b];
            for(c=b+1;c<N;c++)
            {
                r = card[c];
                result = p+q+r;
                if(result <= M && max <= result) max = result;
            }
        }
    }

    printf("%d",max);
    return 0;
}   

과정

변수 만들기는 어렵지 않았고, max를 어떻게 초기화하면서 구할 지를 생각했다.

느낀점

좀 더 어려운 문제들을 풀어보자..?
개강이 얼마남지 않았다. 개강 is coming..
겨울이었다.

profile
안녕하세요

0개의 댓글

관련 채용 정보