
7일차 문제
링크 : https://www.acmicpc.net/problem/10799
문제 풀이
스택을 사용하여 풀이하였다.
1. '('은 stack에 넣어준다.
2. ')'은 레이저를 나타낼 수도, 막대기의 끝 부분을 나타낼 수도 있다.
-> 레이저일 경우, 잘린 막대의 수(stack의 사이즈)를 더해주고
-> 막대기의 끝 부분일 경우 +1을 더해준다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken();
int answer = 0;
Stack<Character> stack = new Stack<>();
for(int i=0; i<str.length(); i++) {
Character c = str.charAt(i);
if(c == '(') {
stack.push(c);
} else {
if(!stack.isEmpty()) {
if(str.charAt(i-1) == '(') {
stack.pop();
answer += stack.size();
} else {
stack.pop();
answer++;
}
}
}
}
System.out.println(answer);
}
}
'Study > 99클럽 코테 스터디' 카테고리의 다른 글
| [99클럽 코테 스터디 9일차 TIL] 저울 (1) | 2025.04.10 |
|---|---|
| [99클럽 코테 스터디 8일차 TIL] 한국이 그리울 땐 서버에 접속하지 (0) | 2025.04.09 |
| [99클럽 코테 스터디 6일차 TIL] 섬의 개수 (0) | 2025.04.07 |
| [99클럽 코테 스터디 5일차 TIL] 수열 (0) | 2025.04.04 |
| [99클럽 코테 스터디 4일차 TIL] 안전 영역 (0) | 2025.04.03 |