05-17 04:01
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[Programmers] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ - JAVA (์Šคํƒ) ๋ณธ๋ฌธ

Algorithm/Programmers

[Programmers] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ - JAVA (์Šคํƒ)

miinsun 2022. 5. 19. 02:05

 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…

๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด
"()()" ๋˜๋Š” "(())()" ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.
")()(" ๋˜๋Š” "(()(" ๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.

'(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฌธ์ž์—ด s๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ด๋ฉด true๋ฅผ return ํ•˜๊ณ ,
์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ด๋ฉด false๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

 

๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 100,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด s๋Š” '(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”จ ์ž…์ถœ๋ ฅ ์˜ˆ

โ€‹

๐Ÿ’ป Solution.java

  • '('๊ฐ€ ๋“ค์–ด์˜ฌ๋•Œ
    • '('๋ฅผ ์Šคํƒ์— ์Œ“๋Š”๋‹ค.
  • ')'๊ฐ€ ๋“ค์–ด์˜ฌ๋•Œ
    • ์Šคํƒ์— ์•„๋ฌด๊ฒƒ๋„ ์—†์œผ๋ฉด ')'๋ฅผ ์Šคํƒ์— ์Œ“๋Š”๋‹ค.
    • '('์™€ ๋งŒ๋‚˜๋ฉด ์Šคํƒ์—์„œ '('๋ฅผ ์ œ๊ฑฐํ•ด์ค€๋‹ค. 
import java.util.*;

class Solution {
    boolean solution(String s) {
		boolean answer = true;
		Stack<Character> stack = new Stack<>();
		
		for(char c : s.toCharArray()) {
			if(c == '(') {
				stack.add(c);
			}
			else {
				if(!stack.isEmpty() && stack.peek() == '(')
					stack.pop();
				else
					stack.add(c);
			}
		}
		
		answer = stack.isEmpty();
		
		return answer;
	}
}

 

Comments