문제 링크

 

숫자를 최소값으로 만드려면 음수가 많아야 한다. 그래서 '-' 이후에 나오는 숫자들은 모두 뺀다. 

 

"맞았습니다" 코드 링크 

#include <bits/stdc++.h>
using namespace std;

string input, temp_st;
int num;
bool minus_flag;

int main(void) {
  ios::sync_with_stdio(0);
  cin.tie(0);

  cin >> input;
  int len = input.size();

  for(int i = 0; i <= len; i++){
    if(input[i] == '-' || input[i] == '+' || i == len){
      (minus_flag) ? num -= stoi(temp_st) : num += stoi(temp_st);
      temp_st = "";
    }else {
      temp_st += input[i];
    }
    if(input[i] == '-') minus_flag = true; // '-'이 다음에 나오는 숫자는 모두 뺀다
  }

  cout << num;
  return 0;
}
728x90

'알고리즘 > 백준' 카테고리의 다른 글

30 백준 10610번 c++  (0) 2022.02.28
분수찾기 백준 1193번 c++  (0) 2022.02.25
동전 0 백준 11047번 c++  (0) 2022.02.24
절댓값 힙 백준 11286번 c++  (0) 2022.02.24
이중 우선순위 큐 백준 7662번 c++  (0) 2022.02.24

+ Recent posts