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..
겨울이었다.