9012๋ฒ: ๊ดํธ
๊ดํธ ๋ฌธ์์ด(Parenthesis String, PS)์ ๋ ๊ฐ์ ๊ดํธ ๊ธฐํธ์ธ ‘(’ ์ ‘)’ ๋ง์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ ๋ฌธ์์ด์ด๋ค. ๊ทธ ์ค์์ ๊ดํธ์ ๋ชจ์์ด ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด(Valid PS, VPS)์ด๋ผ๊ณ
www.acmicpc.net
๋ฌธ์
์์
ํ์ด
stack์ ํ์ฉํ ๋ํ์ ์ธ ๋ฌธ์ ์ด๋ค.
์ฌ๋๊ดํธ '('๊ฐ ๋ค์ด์ค๋ฉด push๋ฅผ ํด์ฃผ๊ณ , ๋ซ๋๊ดํธ' )'๊ฐ ๋ค์ด์ค๋ฉด pop์ ํด์ฃผ์ด ๋น์์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๋ ๊ดํธ๊ฐ ์์ ๋ ๋๋ ์ฌ๋ ๊ดํธ๊ฐ ์คํ์ ๋จ์ ์๋ ๊ฒฝ์ฐ์ "NO"๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์์ค ์ฝ๋
import java.io.*;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
String str = br.readLine();
sb.append(VPS(str)).append('\n');
}
System.out.println(sb);
}
public static String VPS(String str) {
Stack<Character> s = new Stack<Character>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == '(') {
s.push(c);
}
else if (s.empty()) {
return "NO";
}
else s.pop();
}
if (s.empty()) {
return "YES";
}
else return "NO";
}
}
์ฐธ๊ณ
[๋ฐฑ์ค] 9012๋ฒ : ๊ดํธ - JAVA [์๋ฐ]
www.acmicpc.net/problem/9012 9012๋ฒ: ๊ดํธ ๊ดํธ ๋ฌธ์์ด(Parenthesis String, PS)์ ๋ ๊ฐ์ ๊ดํธ ๊ธฐํธ์ธ ‘(’ ์ ‘)’ ๋ง์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ ๋ฌธ์์ด์ด๋ค. ๊ทธ ์ค์์ ๊ดํธ์ ๋ชจ์์ด ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์ฌ
st-lab.tistory.com
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1931๋ฒ : ํ์์ค ๋ฐฐ์ (0) | 2023.01.07 |
---|---|
[๋ฐฑ์ค] 1463๋ฒ : 1๋ก ๋ง๋ค๊ธฐ (0) | 2023.01.05 |
[๋ฐฑ์ค] 1003๋ฒ : ํผ๋ณด๋์น ํจ์ (0) | 2023.01.05 |
[๋ฐฑ์ค] 10828๋ฒ : ์คํ (0) | 2023.01.05 |
[๋ฐฑ์ค] 1260๋ฒ : DFS์ BFS (1) | 2023.01.04 |