반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- 백트래킹
- 알고리즘공부
- dp
- 무료개발강의
- 자바의정석
- 자바의정석연습문제
- 무료코딩강의
- 코딩공부
- 자바의정석연습문제풀이
- 알고리즘
- 백준자바
- 시간 복잡도
- BFS
- 개발공부
- 자바공부
- 빅오 표기법
- 백준단계별로풀어보기
- 동적계획법
- ☆
- 백준알고리즘
- dfs
- 다이나믹 프로그래밍
- ★
- 자바
- 자바개념
- 백준
- 브루트포스
- 백준9단계
- Java개념
Archives
- Today
- Total
더 많이 실패하기
공부 84일차: 백준 10799번 쇠막대기 자바 Java 본문
반응형
10799 쇠막대기
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
백준 10799번 문제 쇠막대기
문제
과정 생각해보기
그림에서 표시한 것처럼
1. (로 쇠막대가 시작될 때마다 스택에 추가해주고
2. 레이저를 쏘면 스택 사이즈만큼 더하고
3. )으로 쇠막대가 끝날 때마다 +1을 해주면 된다
정답 인정 코드
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
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Stack<Character> st = new Stack();
String str = br.readLine();
int sum = 0;
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) == '(') { //열리는 괄호 ( 라면
st.push('('); //스택에 쇠막대기 추가
}else { // 닫히는 괄호 ) 라면
if(str.charAt(i-1) == '(') { //이전이 '('라면 = 레이저라면
st.pop(); //레이저몫 ( 하나 빼고
sum += st.size(); //레이저라면 지금까지 스택 크기만큼 더한다
}else { //쇠막대가 끝난 거라면
st.pop(); //쇠막대 개수 1개 줄이고
sum += 1; //1을 더한다
}
}
}
System.out.println(sum);
}
}
|
cs |
위에서 설명한 대로, 주석에 적은 대로 짠 정답
(BufferedWriter로 sum 출력했더니 이클립스에서 계속 □으로 출력하길래 프린트로 바꿨다)
반응형
'알고리즘 > 백준' 카테고리의 다른 글
공부 86일차: 백준 17299번 오등큰수 자바 Java (0) | 2022.10.24 |
---|---|
공부 85일차: 백준 17298번 오큰수 자바 Java (0) | 2022.10.23 |
공부 83일차: 백준 17413번 단어 뒤집기 2 자바 Java (0) | 2022.10.21 |
공부 82일차: 백준 10866번 덱 자바 Java (0) | 2022.10.20 |
공부 81일차: 백준 1158번 요세푸스 문제 자바 Java (0) | 2022.10.19 |
Comments