๋ฌธ์ ๋งํฌ: www.acmicpc.net/problem/1541
1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ
์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค
www.acmicpc.net
ํ์ด
์์ ๋ง์ด๋์ค ์ฐ์ฐ์๊ฐ ๋์ค๊ธฐ ์ ๊ณผ ํ๋ก ๋๋ ์ ์๊ฐํ ์ ์๋ค. ํ ๋ฒ ๋ง์ด๋์ค ์ฐ์ฐ์๊ฐ ๋์จ ํ์๋ ๋ค์ ๋์ค๋ ์ซ์๋ค์ ๋ชจ๋ ๋ง์ด๋์ค๋ก ๊ณ์ฐํ ์ ์๋ค.
์๋ฅผ ๋ค์ด 1+1+1-1+1-1+1๊ณผ ๊ฐ์ ์์ด ์์ ๋ ์ต์๊ฐ์ ๊ฐ์ง๋๋ก ๊ดํธ๋ฅผ ์น๋ฉด 1+1+1-(1+1)-(1+1)์ด ๋๋ค. ํ ๋ฒ -๊ฐ ๋์ค๋ฉด ๋ค์ ๋์ค๋ +๋ ์์ ์ฐ์ฐ๊ณผ ๊ดํธ๋ก ํฉ์ณ์ ๋บ์ ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ bool ์๋ฃํ์ธ minus๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด์ ์ด ๊ฐ์ด false๋ฉด ์ซ์๋ฅผ ๋ํ๊ณ , true๋ฉด ๋นผ์ค๋ค. ๋ฌธ์์ด์ ๋ง์ง๋ง์๋ ์ฐ์ฐ์ ์งํํด์ผ ํ๊ธฐ ๋๋ฌธ์ for๋ฌธ์ด i <= s.size()๊น์ง ์คํ๋๋ค.
์์ค์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
//1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ
#include <iostream>
#include <string>
using namespace std;
int solution(string s) {
int answer = 0;
bool minus = false;
string temp = "";
for(int i = 0; i <= s.size(); i++) {
if(s[i] == '+' || s[i] == '-' || s[i] == '\0') {
if(minus)
answer -= stoi(temp);
else
answer += stoi(temp);
temp = "";
if(s[i] == '-')
minus = true;
}
else {
temp += s[i];
}
}
return answer;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
string s;
cin >> s;
cout << solution(s);
return 0;
}
|
cs |
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค BOJ / Python ] 14916๋ฒ: ๊ฑฐ์ค๋ฆ๋ (0) | 2021.03.08 |
---|---|
[๋ฐฑ์ค BOJ / C++] 2504๋ฒ: ๊ดํธ์ ๊ฐ (0) | 2021.01.13 |
[๋ฐฑ์ค BOJ / C++] 1138๋ฒ: ํ ์ค๋ก ์๊ธฐ (0) | 2020.12.29 |
[๋ฐฑ์ค BOJ / C++] 2217๋ฒ: ๋กํ (0) | 2020.12.28 |
[๋ฐฑ์ค BOJ / C++] 11399๋ฒ: ATM (0) | 2020.12.28 |