์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- react-router
- ์ด์ฝํ
- createSlice
- react-redux
- redux-toolkit
- Algorithm
- JavaScript
- Get
- SW
- Python
- java
- ์๊ณ ๋ฆฌ์ฆ
- redux-saga
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋งค์ผ๋ฉ์ผ
- ๋ฆฌ์กํธ
- maeil-mail
- ์ฝ๋ฉํ ์คํธํฉ๊ฒฉ์๋๊ธฐ
- programmers
- useDispatch
- redux
- ์๋ฐ
- sw expert academy
- json-server
- C++
- ํญํด99
- ํ ์ฝํ ์ฝ
- ํญํดํ๋ฌ์ค
- react
- axios
- Today
- Total
Binary Journey
[ํ ์ฝํ ์ฝ1.5 2-04] ๊ณผ์ ๋ ๋๋์ง ์์! ๋ณธ๋ฌธ
[ํ ์ฝํ ์ฝ1.5 2-04] ๊ณผ์ ๋ ๋๋์ง ์์!
binaryJournalist 2025. 2. 21. 13:37๐กํ ์ฝํ ์ฝ ์์ฆ 1.5 2ํ ๋ชจ์ off-site ๋ฌธ์ ํ์ด์ ๋๋ค. (2025.01.19)
๋ฌธ์
์ถ์ฒ: ๋ฐฑ์ค - ๊ณผ์ ๋ ๋๋์ง ์์!
๋ด์ฉ
์ฑ์ ๋ ์ด๋ฒ ํ๊ธฐ์ ์ ๊ณต์ ์ ๋ง ๋ง์ด ๋ฃ๋๋ค. ์ด๋ก ์ธํด ๊ฑฐ์ ๋งค์ผ์ ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ณด๋ด๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ๋ ๊ณผ์ ๊ฐ ์ค์ด๋ค ๊ธฐ๋ฏธ๊ฐ ๋ณด์ด์ง ์๋๋ฐ, ๋ฐ๋ก ๋ถ๋จ์๋ก ๊ณผ์ ๊ฐ ์ถ๊ฐ๋๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋คํํ ๊ณผ์ ์ ์ถ ๊ธฐํ์ ํ๊ธฐ๊ฐ ๋๋ ๋๊น์ง์ด๋ค. ๋๋ฌด๋๋ ๋ง์ ๊ณผ์ ๋ฅผ ํ๋ค๊ฐ ๋ฏธ์ณ๋ฒ๋ฆฐ ์ฑ์ ๋ ์๋์ ๊ฐ์ ๊ท์น์ผ๋ก ๊ณผ์ ๋ฅผ ํด ๋๊ฐ๊ณ ์๋ค.
- ๊ณผ์ ๋ ๊ฐ์ฅ ์ต๊ทผ์ ๋์จ ์์๋๋ก ํ๋ค. ๋ํ ๊ณผ์ ๋ฅผ ๋ฐ์ผ๋ฉด ๋ฐ๋ก ์์ํ๋ค.
- ๊ณผ์ ๋ฅผ ํ๋ ๋์ค ์๋ก์ด ๊ณผ์ ๊ฐ ๋์จ๋ค๋ฉด, ํ๋ ๊ณผ์ ๋ฅผ ์ค๋จํ๊ณ ์๋ก์ด ๊ณผ์ ๋ฅผ ์งํํ๋ค.
- ์๋ก์ด ๊ณผ์ ๊ฐ ๋๋ฌ๋ค๋ฉด, ์ด์ ์ ํ๋ ๊ณผ์ ๋ฅผ ์ด์ ์ ํ๋ ๋ถ๋ถ๋ถํฐ ์ด์ด์ ํ๋ค. (์ฑ์ ๋ ๊ธฐ์ต๋ ฅ์ด ์ข๊ธฐ ๋๋ฌธ์ ์๋ฌด๋ฆฌ ๊ธด ์๊ฐ์ด ์ง๋๋ ๋ณธ์ธ์ด ํ๋ ๋ถ๋ถ์ ๊ธฐ์ตํ ์ ์๋ค.)
์ฑ์ ๋ ๊ณผ์ ๋ฅผ ๋ฐ์๋ง์ ์ด ๊ณผ์ ๊ฐ ๋ช ๋ถ์ด ๊ฑธ๋ฆด์ง ์ ํํ๊ฒ ์ ์ ์๊ณ , ์ฑ์ ๊ฐ ์ ์ถํ ๊ณผ์ ๋ ๋ฌด์กฐ๊ฑด ๋ง์ ์ ๋ฐ๋๋ค.
์ฑ์ ๋ ์ด๋ฒ ํ๊ธฐ์ ์๊ธฐ๊ฐ ๋ฐ์ ๊ณผ์ ์ ์๋ฅผ ์์ํด๋ณด๊ณ ์ถ๋ค. ํ์ง๋ง ๊ณผ์ ์ ์๋ฅผ ์์ํ๋ ์ง๊ธ๋ ๊ณผ์ ๊ฐ ์ถ๊ฐ๋๊ณ ์๊ธฐ์ ์ฌ์ ๋ฅผ ๋ถ๋ฆด ์๊ฐ ์๋ค. ์ฌ๋ฌ๋ถ์ด ์ฑ์ ๊ฐ ๋ฐ์ ๊ณผ์ ์ ์๋ฅผ ๊ตฌํด์ฃผ์!
๊ธฐ๋กํ๊ธฐ
๐ก ์ด๋๊น์ง ์๊ฐํด๋ดค๋์ง ๋จ๊ณ์ ์ผ๋ก ๊ธฐ๋กํด๋ด ๋๋ค.
๊ณผ์ class ๋ง๋ค์ด์ ํด๋ณด๋ ๊ฑด ์ด๋จ๊น.
ํ์ด
ํ์ด ์๊ฐ
์์ ์๊ฐ | ์ข ๋ฃ ์๊ฐ | ์ด ์์ ์๊ฐ |
---|---|---|
00:00 | 00:35 | 35๋ถ |
๋ฌธ์ ๋ถ์
์ ์ฝ ์ฌํญ ํ์ & ์ ๋ ฅ๊ฐ ๋ถ์
๐ก ์ ๋ ฅ๊ฐ์ ๋ถ์ํ๋ฉด ๋ฌธ์ ์์ ์๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค.
์ฒซ์งธ ์ค์ ์ด๋ฒ ํ๊ธฐ๊ฐ ๋ช ๋ถ์ธ์ง๋ฅผ ๋ํ๋ด๋ ์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000,000)
๋๋ฒ์งธ ์ค๋ถํฐ N์ค ๋์์ ํ๊ธฐ๊ฐ ์์ํ๊ณ N๋ถ์งธ์ ์ฃผ์ด์ง ๊ณผ์ ์ ์ ๋ณด๊ฐ ์๋์ ๋ ๊ฒฝ์ฐ ์ค ํ๋๋ก ์ฃผ์ด์ง๋ค.
- 1 A T: ๊ณผ์ ์ ๋ง์ ์ A์ ์ด๊ณ , ์ฑ์ ๊ฐ ์ด ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ T๋ถ์ด ๊ฑธ๋ฆฐ๋ค. A์ T๋ ๋ชจ๋ ์ ์์ด๋ค. (1 ≤ A ≤ 100, 1 ≤ T ≤ 1,000,000)
- 0: ํด๋น ์์ ์๋ ๊ณผ์ ๊ฐ ์ฃผ์ด์ง์ง ์์๋ค.
3
1 100 3
0
0
์ฑ์ ๊ฐ ๋ฐ์ ๊ณผ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
100
- 1๋ถ์งธ: 100์ ์ง๋ฆฌ ๊ณผ์ 1์ด ์ฃผ์ด์ง๊ณ ์ด ๊ณผ์ ๋ฅผ ํ๋๋ฐ 3๋ถ์ด ๊ฑธ๋ฆฐ๋ค. ๊ณผ์ ๋ฅผ ๋ฐ์๋ง์ ์์ํ์ผ๋ฏ๋ก ๊ณผ์ 1์ด ๋๋๋๋ฐ๋ ์ด์ 2๋ถ ๋จ์๋ค.
- 2๋ถ์งธ: ์๋ก์ด ๊ณผ์ ๊ฐ ์ฃผ์ด์ง์ง ์์์ผ๋ฏ๋ก ๊ณผ์ 1์ ์ด์ด์ ํ๋ค.
- 3๋ถ์งธ: ์๋ก์ด ๊ณผ์ ๊ฐ ์ฃผ์ด์ง์ง ์์์ผ๋ฏ๋ก ๊ณผ์ 1์ ์ด์ด์ ํ๋ค. ์ด ์์ ์ ๊ณผ์ 1์ด ๋๋์ 100์ ์ ํ๋ํ๋ค.
์์ฌ ์ฝ๋ ์์ฑ
๐ก ์์ฌ ์ฝ๋๋ ๋์ ์ค์ฌ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ ๋ฌธ์ ํด๊ฒฐ ์์๋ก ์์ฑํฉ๋๋ค.
๐ก ์์ฌ ์ฝ๋๋ฅผ ์ถฉ๋ถํ ํ ์คํธํด๋ด ๋๋ค.
solution() {
// 1. N๋ถ ์
๋ ฅ ๋ฐ๊ธฐ
// 2. ์คํ ์์ฑ
// 3. ๋ฌธ์ ์์ ์ ์๋ ์๋ ์๊ฐ์ -1๋ถ ์ฒ๋ฆฌํ๊ณ ์คํ์ ๋ด๊ธฐ
// 4. ๋ฌธ์ ์์ ์ ์คํ top -1๋ถ ์ฒ๋ฆฌํ๊ธฐ
// 5. 0๋ถ์ผ ์ ์ ์+, ์คํ์์ ๊บผ๋ด๊ธฐ
}
๊ตฌํ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class Extra03IHateHomework {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(bufferedReader.readLine());
Stack<Homework> stack = new Stack<>();
int answer = 0;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(bufferedReader.readLine());
int code = Integer.parseInt(st.nextToken());
if (code == 1) {
int score = Integer.parseInt(st.nextToken());
int duration = Integer.parseInt(st.nextToken());
stack.push(new Homework(score, duration - 1));
} else {
if (!stack.isEmpty()) {
Homework homework = stack.peek();
homework.doHomework();
}
}
if (!stack.isEmpty() && 0 == stack.peek().getDuration()) {
answer += stack.pop().getScore();
}
}
System.out.println(answer);
}
public static class Homework {
private int score;
private int duration;
public Homework(int score, int duration) {
this.score = score;
this.duration = duration;
}
public int getScore() {
return this.score;
}
public int getDuration() {
return this.duration;
}
public void doHomework() {
this.duration--;
} }
}
- ๊ต์ฅํ ๋ง์์ ๋ค์ง ์์!
'Algorithm > ํ ์ฝํ ์ฝ1.5(2025)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ ์ฝํ ์ฝ1.5 4-02] ๋ฐฐ์ด ํ์ ์ํค๊ธฐ (0) | 2025.02.21 |
---|---|
[ํ ์ฝํ ์ฝ1.5 4-01] ๊ณต ๋์ง๊ธฐ (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 2-05] ๋ง๋๊ธฐ (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 2-02] ๊ฐ์ ์ซ์๋ ์ซ์ด (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 2-01] ์ปจํธ๋กค ์ ํธ (0) | 2025.02.21 |