Algorithm ๐ง๐ป๐ป/๋ฐฑ์ค(BOJ)
[๋ฐฑ์ค,c++] 1541๋ฒ - ์์ด๋ฒ๋ฆฐ ๊ดํธ
dkswnkk
2021. 11. 17. 22:50
๋ฌธ์
1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ
์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค
www.acmicpc.net
์ฝ๋
#include <iostream>
#include <string>
using namespace std;
string s, temp;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> s;
bool minus = false;
int ans = 0;
for (int i = 0; i < s.length(); i++) {
if (s[i] == '-' || s[i] == '+') { //์ฐ์ฐ์์ผ๋
if (minus) ans -= stoi(temp); //๋ง์ด๋์ค ์ฐ์ฐ์๊ฐ ๋์จ์ํ์ด๋ฉด ๊ฐ์ ๋นผ์ค๋ค.
else ans += stoi(temp);
temp.clear();
if (s[i] == '-') minus = true;
}
else temp += s[i]; //ํผ์ฐ์ฐ์์ผ๋
}
if (minus) ans -= stoi(temp); //๋ง์ง๋ง ์ฐ์ฐ์ ์ดํ์ ์๋ฅผ ๋ง๋ฌด๋ฆฌํด์ค๋ค.
else ans += stoi(temp);
cout << ans;
}
ํ์ด
๋บ์ ์ดํ๋ง๋ค ๊ดํธ๋ฅผ ์น๋ฉด ์ต์๊ฐ ๋ฉ๋๋ค.