Algorithm/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€ BOJ / C++] 1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

meeeeejin 2020. 12. 29. 21:22

 

๋ฌธ์ œ๋งํฌ: 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

 

 

 

๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

 

 

 

728x90