백준 5576 콘테스트

apircity·2022년 5월 3일
0

boj

목록 보기
3/24
post-thumbnail

boj 5576 콘테스트

🔎 how to solve

  • 두 대학의 점수를 각각 배열을 사용하여 입력받기 w[10], k[10]
  • 이중 for문을 활용하여 두 배열안에 있는 숫자를 각각 내림차순 정렬
  • 가장 큰 세 숫자의 합이므로 각 배열의 0, 1, 2칸에 들어있는 숫자를 합한 후 출력

💡 idea(버블정렬)

이중 for문을 활용한 내림차순 정렬

int num을 활용하여 두 수를 비교한 후 자리 바꾸기

for (int i= 0; i < 9; i++)
	{
		for (int j = i + 1; j < 10; j++)
		{
			if (w[i] < w[j]) //내림차순 정렬
			{
				int num = w[i];
				w[i] = w[j];
				w[j] = num;
			}
			if (k[i] < k[j])
			{
				int num = k[i];
				k[i] = k[j];
				k[j] = num;
			}
		}
	}

🔑 code

#include<stdio.h>
int main()
{
	int w[10] = { 0 };
	int k[10] = { 0 };
	int i, j;
    int num;
	for (int i = 0; i < 10; i++)
	{
		scanf("%d", &w[i]);
	}
	for (int i = 0; i < 10; i++)
	{
		scanf("%d", &k[i]);
	}
	for (int i= 0; i < 9; i++)
	{
		for (int j = i + 1; j < 10; j++)
		{
			if (w[i] < w[j]) //내림차순 정렬
			{
				num = w[i];
				w[i] = w[j];
				w[j] = num;
			}
			if (k[i] < k[j])
			{
				int num = k[i];
				k[i] = k[j];
				k[j] = num;
			}
		}
	}
	printf("%d %d", w[0] + w[1] + w[2], k[0] + k[1] + k[2]);
	return 0;
}

🎉 후기

처음에는 if문을 활용하여 최댓값을 구했던 것을 이용하여 풀려고 했는 데
이중 for문을 활용하여 숫자를 내림차순으로 배열하는 방법을 알게 되었고 이를 활용하여 부호를 반대로 하면 숫자를 오름차순으로도 배열할 수 있다

profile
junior developer

0개의 댓글