문제
설명
입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요.
입력
첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다.
출력
남은 문자만 출력한다.
내 풀이
import java.util.Scanner;
import java.util.Stack;
public class Main5_2 {
public String Solution(String str) {
String answer="";
Stack<Character> stack = new Stack<>();
for(char x : str.toCharArray()) {
if(x==')') {
while(stack.pop()!='(');
}
else stack.push(x);
}
for(char x : stack) answer+=x;
return answer;
}
public static void main(String[] args) {
Main5_2 T = new Main5_2();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.Solution(str));
}
}
선생님 풀이
import java.util.Scanner;
import java.util.Stack;
public class Main5_2 {
public String Solution(String str) {
String answer="";
Stack<Character> stack = new Stack<>();
for(char x : str.toCharArray()) {
if(x==')') {
while(stack.pop()!='(');
}
else stack.push(x);
}
for (int i = 0; i < stack.size(); i++) answer+=stack.get(i);
return answer;
}
public static void main(String[] args) {
Main5_2 T = new Main5_2();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.Solution(str));
}
}
stack에 남은 것들을 출력하는 부분만 다르다.
결과
'Algorithm > Inflearn' 카테고리의 다른 글
[Inflearn] 영리한 프로그래밍을 위한 알고리즘 - Comparison sort와 Non-comparison sort (1) | 2023.01.16 |
---|---|
[Inflearn] 자바 알고리즘 문제풀이 #05-03 3. 크레인 인형뽑기(카카오) (0) | 2023.01.16 |
[Inflearn] 자바 알고리즘 문제풀이 #05-01 1. 올바른 괄호 (0) | 2023.01.14 |
[Inflearn] 자바 알고리즘 문제풀이 #04-05 5. k번째 큰 수 (TreeSet) (0) | 2023.01.14 |
[Inflearn] 자바 알고리즘 문제풀이 #04-04 4. 모든 아나그램 찾기(Hash, sliding window) (0) | 2023.01.13 |