강의로 돌아가기
Taller88

효율성 체크 빵점나오시는분들

Java의 경우 split을 쓰지마시고 charAt(int)를 써보세유

뻘짓했네유

작성중인 코드―Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;
class Solution {
    boolean solution(String s) {
        boolean answer = true;
        Stack<Character> stk=new Stack<>();
        for(int i=0; i<s.length(); i++){
            char c=s.charAt(i);
            if(c==')'){
                  if(stk.isEmpty()){
                    return false;
                }
                stk.pop();
            }else{
                stk.push('(');
            }
        }
        if(stk.isEmpty()){
            return true;
        }
        return false;
    }
}
2 개의 답변
seunggabi

감사합니다..ㅎ.ㅎ

seunggabi
package courses30.lessons12909;

import java.util.Stack;

public class Solution {
    boolean solution(String s) {
        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
                case '(':
                    stack.add(s.charAt(i));
                    break;
                case ')':
                    if (stack.isEmpty()) {
                        return false;
                    }

                    if (stack.peek() == '(') {
                        stack.pop();
                    } else {
                        return false;
                    }
                    break;
            }
        }

        return stack.isEmpty();
    }

    public static void main(String[] args) {
        System.out.println(new Solution().solution("()()"));
    }
}
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.