반응형
문제 : https://www.acmicpc.net/problem/1541
풀이 :
처음에는 괄호의 위치를 -기준으로 , 괄호가 나온 갯수로 풀이를 해보려고했다.
하지만 더 간단한 방법이 있을것 같아 생각해보았는데, -기준 + 기준으로 묶어서 더하고 빼고 하면 될것 같았다.
결국 괄호의 위치가 뺄셈을 할 수 있게 만들어주는개념으로 괄호를 사용한다는 것을 배제 하였다.
순서
1). 처음에는 -기준으로 쪼갠다.
2). - 기준으로 쪼개지면, 뭉쳐있는 아이들은 전부 + 로 더하는 아이들이다.
그러므로, 다 더한뒤 -를 붙여주면 가장 작은 수가 되지 않는가!!!
3). 여기서 문제를 제대로 안읽어본 티가 났었다. 첫번째와 마지막문자는 숫자이다!!!! 즉 처음에는 -나 +가 나올수 없다는것..! 그러므로 처음나온 숫자는 어쩔수없이 무조건 최종값에서 +되있는 값이다.
자 그럼 이 내용을 기준으로 코드화 해보자.
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] ar = br.readLine().split("-");
int result = 0;
for(int i =0; i<ar.length; i++) {
int tmp = 0;
String[] plusAr = ar[i].split("\\+");
for (int j = 0; j < plusAr.length; j++) {
tmp += Integer.parseInt(plusAr[j]);
}
if(i==0) {
result+=tmp;
}else {
result-=tmp;
}
}
System.out.println(result);
}
** 1).split의 기준점을 잘보자..!
** 2). i==0 즉 처음나온 숫자는 더해주고 시작한다.
반응형
'Java > Algorithm' 카테고리의 다른 글
[Java-Algorithm] 백준 1759 암호 만들기 (0) | 2021.06.10 |
---|---|
[Java-Algorithm] 백준 10808 알파벳 개수 풀이 (0) | 2021.06.09 |
[Java-Algorithm] 백준 10953 풀이 (0) | 2021.06.08 |
[Java-Algorithm] 백준 1181 단어정렬 풀이 (0) | 2021.06.07 |
[Java-Algorithm] 백준 11719 그대로 출력하기 (0) | 2021.06.07 |