코딩하기 좋은날
백준 2935 소음 본문
반응형
https://www.acmicpc.net/problem/2935
문제와 채점은 위 사이트에서 확인 하실 수 있습니다.
10의 제곱꼴로 주어지는 두수를 *나 + 해서 출력하는 문제입니다.
*할시에는 두수(문자열)을 더한뒤 첫번째 자리숫자만 1을 출력하고 나머지는 모두 0을 출력 하면 됩니다.
+할시에는 더 길이가 긴 문자열의 A.size()-B.size()인덱스에 해당하는 요소를 1로 바꾸어주고 출력하면 됩니다.
두 문자열의 길이가 같을 때는 첫번째 자리숫자를 2로 바꾸어주면 해결이됩니다.
다음은 코드입니다.
#include <iostream>
#include <string>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false); cin.tie(NULL);
string A,B,op;
cin >> A >> op >> B;
if(op == "*") {
A += B;
for(int i = 0; i < A.size(); i++) {
if(i != 0 && A[i] == '1') continue;
else cout<<A[i];
}
}
else {
if(A.size() > B.size()) {
A[A.size() - B.size()] = '1';
cout<<A;
}
else if(A.size() < B.size()) {
B[B.size() - A.size()] = '1';
cout<<B;
}
else {
A[0] = '2';
cout<<A;
}
}
return 0;
}
반응형
'백준(Baekjoon) 문제' 카테고리의 다른 글
백준 14003 가장 긴 증가하는 부분 수열5 (0) | 2019.09.05 |
---|---|
백준 8979 올림픽 (0) | 2019.09.05 |
백준 4195 친구 네트워크 (0) | 2019.08.11 |
백준 4485 녹색 옷 입은 애가 젤다지? (0) | 2019.08.11 |
백준 1261 알고스팟 (0) | 2019.08.11 |