๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/10654)
< Cow Jog >
๋ฌธ์ ํ์ด
Stack์ ์ฌ์ฉํ์ฌ ์ด๊ธฐ ์์น๊ฐ ํฐ ์๋ค๋ถํฐ T ์๊ฐ ์์ง์ฌ ๋ค์์ ์ถ๋ฐํ ์๊ฐ ์ถ์ํ์ง ๋ชปํ๊ฒ ํ๋ค.
๋ง์ฝ 3๋ถ ๋์ ๋ฌ๋ฆฌ๊ณ ์ด๊ธฐ ์์น์ ์๋๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
6 1
4 2
6์ ์๋ ์๋ 9, 3์ ์๋ ์๋ 10์ด ๋ผ์ผ ํ๋๋ฐ ์ถ์ํ ์ ์์ผ๋ฏ๋ก stack์๋ 9๋ง ๋ฃ๋๋ค.
๊ฒฐ๋ก : stack์ ์ด๊ธฐ ์์น๊ฐ ๋ฉ๋ฆฌ ์๋ ์๋ถํฐ ์์ง์ฌ ์์ง์ธ ์์น๋ฅผ ์ ์ฅํ ๋ค, ๋ค๋ฅธ ์๋ค์ ์์ง์ธ ์์น๊ฐ ์์ ์๋ณด๋ค ์์ ๋๋ง stack์ ์ ์ฅํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class _10654_ { // Cow Jog
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int t = Integer.parseInt(st.nextToken());
Stack<Long[]> stack = new Stack<>();
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
stack.add(new Long[] { Long.parseLong(st.nextToken()), Long.parseLong(st.nextToken()) });
}
Stack<Long> result = new Stack<>();
while (!stack.isEmpty()) {
Long[] info = stack.pop();
long d = info[0] + info[1] * t;
if (result.isEmpty()) {
result.add(d);
} else {
if (result.peek() > d) {
result.add(d);
}
}
}
System.out.println(result.size());
}
}
๋ณ์)
n, t : ์ ๋ง๋ฆฟ์, ๋ฌ๋ฆฐ ์๊ฐ
stack : ์์ ์ด๊ธฐ ์์น, ์๋ ์ ๋ณด๋ฅผ ์ ์ฅํ Stack
result : ์ ๊ทธ๋ฃน์ ๊ตฌํ๊ธฐ ์ํ Stack
d : ์ด๋ํ ์์น
์ ๋ง๋ฆฟ์์ ๋ฌ๋ฆฐ ์๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค. n๋งํผ ์์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ ์์ ์ด๊ธฐ ์์น ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฅ๋๋ฏ๋ก stack์ ์ ์ฅํ๋ค. stack์ด ๋น ๋๊น์ง ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) stack pop
2) ์ด๊ธฐ์์น + ์๋ * ๋ฌ๋ฆฐ ์๊ฐ ๊ตฌํ๊ธฐ
3) result๊ฐ ๋น์ด์๋ค๋ฉด ์ฒซ ๋ฒ์งธ ์ ์ด๋ฏ๋ก result์ ์ ์ฅ
4) result๊ฐ ๋น์ด์์ง ์๋ค๋ฉด result์ peek ๊ฐ๋ณด๋ค ์์ ๋๋ง result์ ์ ์ฅ
์ต์ข result์ size๋ฅผ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 33094_Diet Plan (0) | 2025.12.05 |
|---|---|
| [Baekjoon] 13984_Contest Score (0) | 2025.12.02 |
| [Baekjoon] 4649_Tanning Salon (0) | 2025.12.01 |
| [Baekjoon] 5006_Horror List (0) | 2025.11.19 |
| [Baekjoon] 26111_Parentheses Tree (0) | 2025.11.18 |