반응형
https://www.acmicpc.net/problem/1541
◎문제풀이
규칙을 발견하면 쉬운 문제이다. '-' 연산이 나오면, 이후 나오는 수를 모두 괄호 안에 넣으면 괄호 안 모든 연산이 빼기가 된다. 수식이 나오면 수학으로 단순화하려는 시도가 중요한 문제였다.
◎코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//BOJ1541 잃어버린 괄호
public class Greedy3 {
public static void main2(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
boolean isPlus = true;
int ans = 0;
for (int i =0;i<str.length();i++) {
String digit = "";
if(Character.isDigit(str.charAt(i))){
while(i < str.length() && Character.isDigit(str.charAt(i))){
digit += str.charAt(i);
i++;
}
if(isPlus) ans += Integer.parseInt(digit);
else ans -= Integer.parseInt(digit);
}
if( i < str.length() && str.charAt(i) == '-') isPlus = false;
}
System.out.println(ans);
}
}
나는 구분자로 문자열을 분리하지 않고 풀었는데, 구분자로 문자열을 분리하여 푸는 것도 좋은 풀이인 것 같다. 이는 아래 링크를 참고하면 된다.
https://recordofwonseok.tistory.com/441
반응형
'문제풀이 > Greedy' 카테고리의 다른 글
[PS] BOJ18310 안테나 ( greedy ) with JAVA (0) | 2023.08.08 |
---|---|
[PS] BOJ1744 수묶기 ( Greedy ) with JAVA (0) | 2023.07.27 |
[PS] BOJ2109 순회공연 ( greedy ) wtih JAVA (0) | 2023.07.18 |
[PS] BOJ1202 보석도둑 ( greedy ) With JAVA (0) | 2023.07.13 |
[PS] BOJ2138 전구와 스위치 ( greedy ) With 파이썬 (0) | 2023.07.04 |