문제링크: www.acmicpc.net/problem/1541
마이너스가 하나라도 존재하는 부분부터 다 음수가 가능하다는 것이 자명하기 때문에 마이너스 기준으로 나누었다.
split 방법을 몰라서 검색했고 배웠다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str= br.readLine();
String b[] = new String[50];
String c[] = new String[50];
boolean has_minus = false;
for(int i=0;i<str.length();i++) {
if(str.charAt(i)=='-') {
b = str.substring(0, i).split("\\+|\\-");
c = str.substring(i+1,str.length()).split("\\+|\\-");
has_minus = true;
break;
}
}
String a[] = str.split("\\+|\\-");
int sum = 0;
if(has_minus == false)
for(int i=0;i<a.length;i++) {
sum+= Integer.parseInt(a[i]);
}
else {
for(int i=0;i<b.length;i++) {
sum+=Integer.parseInt(b[i]);
}
for(int i=0;i<c.length;i++) {
sum-= Integer.parseInt(c[i]);
}
}
System.out.println(sum);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1629 곱셈 (2) | 2020.12.20 |
---|---|
[백준] 1992 쿼드트리 (0) | 2020.12.20 |
[백준] 11054 가장 긴 바이토닉 부분 수열 (0) | 2020.12.08 |
[백준] 2565 전깃줄 (0) | 2020.12.08 |
[백준] 1003 피보나치 함수 (0) | 2020.12.07 |