๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 1541๋ฒˆ - ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

by dkswnkk 2021. 11. 17.

๋ฌธ์ œ

 

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;
}

 

ํ’€์ด

๋บ„์…ˆ ์ดํ›„๋งˆ๋‹ค ๊ด„ํ˜ธ๋ฅผ ์น˜๋ฉด ์ตœ์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

๋Œ“๊ธ€