🐣 알고리즘 삐약/💻 백준 삐약
49 삐약 : 백준 10799| 쇠막대기 [바킹독 문제 풀이|Stack|JAVA]
우주수첩
2023. 12. 20. 16:59
728x90
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
package BKD_0x8_Stack_Application;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class BOJ_10799 {
public static void main(String[] args) throws IOException {
Stack<Character> stack = new Stack<>();
int total=0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] arr = br.readLine().toCharArray();
for(int i=0;i<arr.length;i++){
switch (arr[i]){
case '(' : stack.push('('); break;
case ')':
stack.pop();
if(arr[i-1]=='(') total+= stack.size();
else if(arr[i-1]==')')total+=1;
}
}
System.out.println(total);
}
}
+= Stack.size
- 레이저로 잘릴 수 있는 막대기의 수
+1
- 막대기의 길이가 끝나여 더해지는 조각의 수
728x90