728x90
문제 2935번
https://www.acmicpc.net/problem/2935
2935번: 소음
수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게
www.acmicpc.net
*일 때, 1을 먼저 출력해준다음 입력된 값들의 길이를 합한 후 앞자리 2씩 빼주어 0의 개수를 알아낸 후 그 길이만큼 0을 출력해준다.
+일 때, 입력된 값들의 길이가 같으면 처음에 2를 출력해준다음 나머지 길이만큼 0을 출력해준다. 만약, 입력된 값들의 길이가 다르면 가장 긴 길이부터 시작하여 차례대로 비교하며 각 입력값의 길이와 같을 때 1을 출력해주고 나머지는 0을 출력해준다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string A, B;
char oper;
cin >> A >> oper >> B;
if (oper == '*') {
int n = A.length() + B.length() - 2;
cout << '1';
for (int i = 0; i < n; i++) {
cout << '0';
}
} else if(oper == '+') {
int An = A.length(), Bn = B.length();
if (An == Bn) {
cout << '2';
for (int i = 0; i < An - 1; i++) {
cout << '0';
}
} else {
int a = max(An, Bn);
int b = min(An, Bn);
for (int i = a; i > 0; i--) {
if (i == a || i == b) {
cout << '1';
} else {
cout << '0';
}
}
}
}
return 0;
}
728x90
'백준 > C++' 카테고리의 다른 글
[C++] 백준 7567번 - 그릇 (0) | 2024.04.12 |
---|---|
[C++] 백준 4999번 - 아! (0) | 2024.04.09 |
[C++] 백준 2744번 - 대소문자 바꾸기 (0) | 2024.04.07 |
[C++] 백준 2902번 - KMP는 왜 KMP일까? (0) | 2024.04.06 |
[C++] 백준 1439번 - 뒤집기 (1) | 2024.04.05 |