๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 10654_Cow Jog

๋ฟŒ์•ผ._. 2025. 12. 4. 12:49
๋ฌธ์ œ(์ถœ์ฒ˜: 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