1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ
(1) ์กฐ๊ฑด ๋ถ์ ๐
(๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์)๋ก ๋ซํ์ผ์ง๋ง์ฌ๋ฐ๋ฅธ ๊ดํธ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ค.- ๋ฌธ์ ์์ ์ฃผ์ด์ง ์์ ๋ฌธ์์ด์ด ์ฌ๋ฐ๋ฅด๋ฉด true, ์๋๋ฉด false๋ฅผ ์ถ๋ ฅํ๋ผ.
2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธ
KEY WORD: ์คํ ํ์ฉ
- ์ฌ์ ์ค์ : top = stack์ ๋งจ ์๋ถ๋ถ์ ๊ฐ๋ฆฌํด
(์ด ๋ค์ด์ค๋ฉด top++ ์ดํ ํด๋น ์๋ฆฌ์ ์๋ก์ด ๊ฐ ์ง์ด๋ฃ๊ธฐ)์ด ๋ค์ด์ค๋ฉด ํ์ฌ top ์์น์ ๊ฐ ์ง์ฐ๊ณ , top-- ํ๊ธฐ)๊ฐ ๋ค์ด์๋๋ฐ, top == -1 ์ด๋ฉด, ์ด๋ฏธ ํ์ฌ ๋ฌธ์๋ ์์ ์ ์ง์ด ์๋ค๋ ๊ฒ์ด๋ฏ๋กfalse๋ฅผ ์ถ๋ ฅ- ์ ์ฒด๊ณ์ฐ ์ดํ์ stack์ด ๋น์ด์๋ค๋ฉด, ๋ชจ๋ ๊ดํธ๊ฐ ์์ ์ ์ง์ด ์๋ค๋ ๊ฒ์ด๋ฏ๋ก
true์ถ๋ ฅ, ์๋๋ฉดfalse์ถ๋ ฅ

๊ฐ ์ถ๊ฐ ์ (์ฌ๋ผ๊ฐ์ ์ฑ์)
๊ฐ ์ญ์ ์ (์ง์ฐ๊ณ ๋ด๋ ค์ด)
(1) ์๊ฐ๋ณต์ก๋ ๋ถ์ โณ
๋ฌธ์์ด์ ๊ธธ์ด๋ 100,000๊ฐ.
ํ์ง๋ง ๋ฌธ์์ด์ ๋ฑ ํ ๋ฒ๋ง ํ์ ๊ฒ์ด๋ฏ๋ก, ์๊ฐ๋ณต์ก๋์ ๊ณ์ฐ์ ํ์๊ฐ ์๋ค.
3. ์ฝ๋ ๐
import java.util.*;
class Solution {
boolean solution(String s) {
char [] stack = new char[s.length()];
int iter = -1;
for(int i = 0 ; i < s.length(); i++){
char now = s.charAt(i);
switch(now) {
case '(': {
stack[++iter] = '(';
break;
}
case ')': {
if(iter == -1) return false;
stack[iter--] = '\0';
break;
}
}
}
return iter == -1 ? true : false;
}
}
4. ํธ๋ฌ๋ธ ์ํ or ๋ฐฐ์ด ์ ๐
0