[๋ฐฑ์ค] ๐ฅ 9012 ๊ดํธ
๐ ๋์ด๋
๐ฅ Silver 4
๐ ๋ฌธ์
https://www.acmicpc.net/problem/9012
๐ ํ์ด
Stack
, ์คํ์ด๋ ๋ํ์ ์ธ LILO ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ Stack
์ ๋ฃ๊ณ , ์ ๊ฐ์ ๋ฃ์๋๋ง๋ค Top
๊ณผ ๋น๊ต๋ฅผ ํ์ฌ ๋ค๋ฅด๋ฉด ๋นผ๊ณ , ๊ฐ์ผ๋ฉด ๋ฃ์๋ค.
๋ )
๊ฐ ๋ค์ด์๋๋ฐ ๋น์ด์์ผ๋ฉด NO
๊ฐ ๋๋๋ก ํ์๊ณ , ๋ชจ๋ ์
๋ ฅ์ ๋ง์ณค๋๋ฐ Stack
์ ๊ฐ์ด ๋จ์์์ผ๋ฉด NO
๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ฒ ํ์๋ค.
์ด ๋ชจ๋ ๊ณผ์ ์ ๋ง์ณค์ผ๋ฉด, YES
๋ฉ์ธ์ง๊ฐ ์ถ๋ ฅ๋๋ค.
๐ Code
package DS;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Stack;
import java.util.StringTokenizer;
public class N9012 {
static Stack<String> ps;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
ps = new Stack<String>();
for (int i = 0; i < num; i++) {
ShowPS(br);
ps.clear();
}
}
public static void ShowPS(BufferedReader br) throws IOException{
for (String str : br.readLine().split("")) {
if (str.equals("(")) {
ps.push(str);
} else {
if (ps.isEmpty()) {
System.out.println("NO");
return;
} else {
ps.pop();
}
}
}
if (ps.isEmpty()) {
System.out.println("YES");
} else{
System.out.println("NO");
}
}
}
package (์ด๋ฆ); ๋ฅผ ๋๊ณ , class ์ด๋ฆ์ Main
์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๊ฐ์ธ ๊ณต๋ถ ๊ธฐ๋ก์ฉ ๋ธ๋ก๊ทธ์
๋๋ค.
ํ๋ฆฌ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ ์ ๋ณดํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.๐