https://leetcode.com/problems/score-of-parentheses/description/
설명
String s 를 매개변수로 받고, socre를 반환한다
score는 한쌍을 이루는 괄호(=> '()')의 점수체크를 하고 아래의 규칙을 따른다
- "()의 score 는 1 이다
- 한쌍을 이루는 괄호 A와 B에서 AB의 score는 A+B이다
-> "()()" = 1+1
- (A)는 2*A score를 가진다
-> "(()) = 2*1
풀이
"다시 풀어 볼 것"
class Solution {
public int scoreOfParentheses(String s) {
Stack<Integer> st = new Stack<>();
int score = 0;
for(int i = 0; i < s.length(); i++){
char ch = s.charAt(i);
if(ch == '(') {
st.push(score);;
score = 0;
} else {
score = st.pop() + Math.max(2 *score, 1);
}
}
return score;
}
}
'Algorithm > leetcode' 카테고리의 다른 글
[leetcode] 1021.Remove Outermost Parentheses (0) | 2023.08.28 |
---|---|
[leetcode] 844.Backspace String compare (0) | 2023.08.27 |
[leetcode] 155.Min Stack (0) | 2023.08.26 |
[leetcode] 682.Baseball Game (0) | 2023.08.19 |
[leetcode] Valid Parentheses(유효한 괄호) (0) | 2023.08.16 |