728x90
반응형
2023.01.05
코테 문제풀이 24주차 01번 문제
문제
① 스택/큐 : 올바른 괄호
② 링크
접근방법
Stack
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import java.util.*;
class Solution {
/*
* Date: 2023-01-05
* Time: 22:13
*/
boolean solution(String s) {
return srchProperBracket(s);
}
/**
* 올바른괄호찾기
* @param s 괄호로 이루어진 문자열
* @return boolean 올바른 괄호 여부
*/
public static boolean srchProperBracket(String s) {
/*
* @Desc
* 1.String.split() 메소드로 문자열을 하나씩 자른다.
* 2.여는괄호('(')는 스택에 PUSH
* 3.닫는괄호(')')는 여는괄호가 스택에 TOP을 가리키고 있으면 괄호를 완성하면서 POP
* 4.그 외의 경우는 스택에 PUSH
* 5.스택의 길이를 체크해서 스택이 비어있으면(=모두 올바른 괄호) true를 리턴한다.
*/
Stack<String> stack = new Stack<>();
for (String str: s.split("")) {
if ("(".equals(str))
stack.add(str);
else {
if (!stack.isEmpty() && "(".equals(stack.peek())) {
stack.pop();
} else
stack.add(str);
}
}
return stack.size() == 0 ? true: false;
}
}
|
cs |
결과
주의사항
① Stack을 사용하면 시간 초과 발생
② char 자료형을 사용해서 문제를 풀면 효율성 통과
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코테/JAVA] 2022 KAKAO TECH INTERNSHIP : 성격 유형 검사하기 (0) | 2023.01.30 |
---|---|
[코테/JAVA] 2023 KAKAO BLIND RECRUITMENT : 개인정보 수집 유효기간 (0) | 2023.01.30 |
[코테/JAVA] 2022 KAKAO BLIND RECRUITMENT : 주차 요금 계산 (0) | 2022.12.29 |
[코테/JAVA] 월간 코드 챌린지 시즌2 : 2개 이하로 다른 비트 (0) | 2022.12.24 |
[코테/JAVA] 월간 코드 챌린지 시즌1 : 이진 변환 반복하기 (0) | 2022.12.24 |
댓글