※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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 |