[λ°±μ€ BOJ / C++] 1541λ²: μμ΄λ²λ¦° κ΄νΈ
λ¬Έμ λ§ν¬: 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 |
곡λΆν κ²μ μ 리ν λ΄μ©μ λλ€. μμ ν λΆλΆμ΄ μλ€λ©΄ μλ €μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€ :)