๋ฌธ์
ํ์ด 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(); } }
- ์คํ์ ์ด์ฉํ ํ์ด์ ๋๋ค.
'๐ Coding Test > Programmers Lv2' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ | ์๋ฐ (1) | 2024.11.15 |
---|