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

 

이번에 볼 문제는 백준 27227번 문제인 Дивизионы이다.
문제는 아래 링크를 확인하자.

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

 

27227번: Дивизионы

Выведите одну или более строк. Для каждого дивизиона, в котором участник сможет поучаствовать, выведите номер этого дивизиона. Если участни

www.acmicpc.net

주어지는 레이팅에 대응되는 division의 대회가 있다면 그 대회만을 참가하고, 그렇지 않다면 열린 다른 division의 대회에 참가하게 된다. 그러한 division을 한 줄에 오름차순으로 하나씩 출력하는 것으로 문제를 해결하자.

 

단, 레이팅에 대응되는 division보다 숫자가 큰(쉬운) division의 대회에 참가할 시에는 그 division을 나타내는 수의 오른쪽에 '*'를 추가로 출력해야 한다.

 

이는 조건문을 잘 이용하는 것으로 구현해낼 수 있다.

 

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

#include <iostream>
using namespace std;

int R;
bool dv[128];
string s;

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

	cin >> R;
	if (R < 1601) R = 3;
	else if (R < 1901) R = 2;
	else R = 1;

	cin >> s;
	for (auto& l : s) dv[l] = 1;
	if (dv[R + '0']) cout << R;
	else {
		for (char c = '1'; c < '4'; c++) {
			if (dv[c]) {
				cout << c;
				if (R + '0' < c) cout << '*';
				cout << '\n';
			}
		}
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10805 // C++] L 모양의 종이 자르기  (0) 2023.02.28
[BOJ 10864 // C++] 친구  (0) 2023.02.28
[BOJ 27563 // C++] Moo Operations  (0) 2023.02.27
[BOJ 27590 // C++] Sun and Moon  (0) 2023.02.27
[BOJ 5612 // C++] 터널의 입구와 출구  (0) 2023.02.27

+ Recent posts