๋ฌธ์
์ฌ๋ฐ๋ฅธ ๊ดํธ
ํ์ด 1
import java.util.*;
class Solution {
boolean solution(String s) {
String[] strArr = s.split("");
Stack<String> stack = new Stack<>();
for(int i = 0; i < strArr.length; i++) {
if(stack.isEmpty() && strArr[i].equals(")")) return false;
else if(strArr[i].equals("(")) stack.push(strArr[i]);
else if(stack.peek().equals("(") && strArr[i].equals(")")) stack.pop();
}
return stack.isEmpty() ? true : false;
}
}
- ์ ํ์ฑ ํ
์คํธ ์ผ์ด์ค๋ ํต๊ณผํ์ง๋ง, ํจ์จ์ฑ ํ
์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผํ๋๋ฐ ์คํจํ์ต๋๋ค.
- ์ด ๋ฌธ์ ์ ์กฐ๊ฑด ์ค ํ๋๋ ๋ฌธ์์ด์ด ์ต๋ 100,000์ด ๋ ์ ์๋ค๋ ์ ์ด๊ณ , split์ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด ์ ์ฒด๋ฅผ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ณต์ฌํด์ผ ํ๋ฉฐ, ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๊ณผ ์ฒ๋ฆฌ ์๊ฐ์ด ๋ฐ์ํฉ๋๋ค.
ํ์ด 2
class Solution {
boolean solution(String s) {
String[] strArr = s.split("");
int count = 0;
for(int i = 0; i < strArr.length; i++) {
if(count == 0 && strArr[i].equals(")")) return false;
if(strArr[i].equals("(")) count += 1;
else count -= 1;
}
return count == 0 ? true : false;
}
}
- ์คํ์ด ์๋ ์นด์ดํธ๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด ํ์ด ํ์ต๋๋ค.
ํ์ด 3
import java.util.*;
class Solution {
boolean solution(String s) {
Stack<Character> stack = new Stack<>();
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(c == '(') {
stack.push(c);
} else {
if(stack.isEmpty()) return false;
stack.pop();
}
}
return stack.isEmpty();
}
}
- ์คํ์ ์ด์ฉํ ํ์ด์
๋๋ค.