※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25933번 Medal Ranking이다.
문제는 아래 링크를 확인하자.

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

 

25933번: Medal Ranking

Print each input set. Then, on the next output line, print one of four messages (count, color, both, none), indicating how USA can win. USA will win by count if its total medal count is higher than the total for Russia. USA will win by color if it has more

www.acmicpc.net

주어지는 미국과 러시아의 금/은/동메달 개수를 입력받고, 미국이 메달의 색을 기준으로 우위에 있는지와 전체 메달개수를 기준으로 우위에 있는지를 확인해 문제를 해결하자.

 

색을 기준으로 우위에 있는지 확인하는 것은 조건문을 여러 번 중첩해 구현할 수 있다.

 

답안을 출력할 때, 각 테스트케이스의 결과 사이에 빈 줄을 하나씩 더 추가해줘야 하는 점을 놓치지 말자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

void solve() {
	bool color = 0, count = 0;
	int x, y, z, a, b, c; cin >> x >> y >> z >> a >> b >> c;
	cout << x << ' ' << y << ' ' << z << ' ' << a << ' ' << b << ' ' << c << '\n';

	if (x > a) color = 1;
	else if (x == a) {
		if (y > b) color = 1;
		else if (y == b) {
			if (z > c) color = 1;
		}
	}

	if (x + y + z > a + b + c) count = 1;

	if (color && count) cout << "both\n\n";
	else if (color) cout << "color\n\n";
	else if (count) cout << "count\n\n";
	else cout << "none\n\n";
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int T; cin >> T;
	while (T--) solve();
}
728x90

+ Recent posts