728x90
시간 제한 : 1초
메모리 제한 : 128MB
입력
첫째 줄에 문제의 개수 N이 주어진다. (1 ≤ N ≤ 1000) 다음 N개 줄에는 "a+b"형식의 덧셈 문제나 "P=NP"가 주어진다. a,b ∈ [0,1000]이며 a와 b는 정수이다.
출력
P=NP가 문제인 경우에는 skipped를, 덧셈 문제인 경우에는 덧셈한 결과를 출력한다.
소스코드
#include <iostream> #include <string> using namespace std; int main(void) { int n; string s; cin >> n; while (n--) { cin >> s; if (s == "P=NP") cout << "skipped\n"; else { int ans, sub; string a, b; int len = s.length(); for (int i = 0; i < len; i++) { if (s[i] == '+') { sub = i + 1; break; } } a = s.substr(0, sub); b = s.substr(sub, len - sub); ans = stoi(a) + stoi(b); cout << ans << '\n'; } } }
Tip
문자열 처리만 할 줄 알면 되고, C++11부터 표준으로 제공되는 stoi를 이용하면 숫자 변환도 쉽게 가능하다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 1668 - 트로피 진열 (0) | 2018.03.09 |
---|---|
백준] 1010 - 다리 놓기 (0) | 2018.03.05 |
백준] 1748 - 수 이어 쓰기 1 (0) | 2018.03.03 |
백준] 11404 - 플로이드 (0) | 2018.03.03 |
백준] 10474 - 분수 좋아해?(ACM-ICPC Regional) (0) | 2018.03.03 |