본문 바로가기

백준/C++

[C++] 백준 5576번 콘테스트

728x90

 

오늘은 약속이 있어서 하루종일 밖에 있다가 지금 집에 들어와서 블로그를 켰다.

너무 피곤해서 이번에도 쉬운 문제만 풀고 자야겠다...

 

문제

https://www.acmicpc.net/problem/5576

 

5576번: 콘테스트

최근 온라인에서의 프로그래밍 콘테스트가 열렸다. W 대학과 K 대학의 컴퓨터 클럽은 이전부터 라이벌 관계에있어,이 콘테스트를 이용하여 양자의 우열을 정하자라는 것이되었다. 이번이 두 대

www.acmicpc.net

 

문제를 보니까 각각 배열에 입력하고 내림차순으로 정렬한 후 맨 앞부터 3개의 점수를 합산하면 될 것 같다.

 

#include <iostream>
#include <algorithm>
using namespace std;

int W[10];
int K[10];

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	for (int i = 0; i < 10; i++) {
		cin >> W[i];		
	}
	for (int i = 0; i < 10; i++) {
		cin >> K[i];
	}
	sort(W, W + 10, greater<int>());
	sort(K, K + 10, greater<int>());

	cout << W[0] + W[1] + W[2] << " " << K[0] + K[1] + K[2];
	
	return 0;
}

 

 

 

 

 

 

처음에 배열에 입력받는 부분에서 i를 0에서부터 20되기 전까지 반복하려고 했는데 출력이 이상하게 나왔다. 그래서 왜그런가 했더니 인덱스가 10부터는 이상하게 되는 것이었다. 그래서 그냥 각각 for문을 돌려주었는데... 다른 사람은 어떻게 풀었나 구경하다가 입력받는 부분을 내가 처음에 구현하려고 했던 방법처럼 구현한 사람이 있었다. 

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {

	int W[10], K[10], i, j, k, temp;

	for (i = 0; i < 20; i++) 
	{

		if (i < 10)
			scanf("%d", &W[i]);

		else if (i > 9)
			scanf("%d", &K[i - 10]);
	}

	for (i = 0; i < 20; i++) 
	{
		if (i < 10) 
		{
			for (j = 0; j < 10; j++) 
			{
				for (k = 0; k < 10; k++) 
				{
					if (W[j] > W[k]) 
					{
						temp = W[j];
						W[j] = W[k];
						W[k] = temp;
					}
				}
			}
		}

		else if (i > 9) 
		{
			for (j = 0; j < 10; j++) 
			{
				for (k = 0; k < 10; k++) 
				{
					if (K[j] > K[k]) 
					{
						temp = K[j];
						K[j] = K[k];
						K[k] = temp;
					}
				}
			}
		}
	}

	printf("%d %d", W[0] + W[1] + W[2], K[0] + K[1] +K[2]);
}
출처: https://sujin-dev.tistory.com/m/454

 

보니까 인덱스를 i에서 10을 빼주어 알맞게 인덱스가 들어가도록 만들어주었다. 나는 이 생각을 못하고 그냥 바로 다른 방법으로 바꿨다...ㅎㅎ

 

 

 

역시 쉬운 문제를 풀면 기분이 좋다 ㅎㅎ

어려운 문제들도 이렇게 쉽게 풀렸으면 좋겠다...

 

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 5800번 성적 통계  (4) 2023.12.26
[C++] 백준 14729번 칠무해  (2) 2023.12.25
[C++] 백준 2752번 세수정렬  (2) 2023.12.23
[C++] 백준 1940번 주몽  (4) 2023.12.22
[C++] 백준 1083번 소트  (2) 2023.12.21