๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 11544_D as in Daedalus

๋ฟŒ์•ผ._. 2025. 4. 28. 12:55
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/11544)

< D as in Daedalus >

 

๋ฌธ์ œ ํ’€์ด 

 

์›๋ž˜ ์„ ํƒํ•œ ์นด๋“œ๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜์™€ ์นด๋“œ๋ฅผ ๋ฐ”๊ฟ”์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

 

5 3
300 10 100 10 1 10
1100 100 10 100 1 1000
1200 100 100 10 1 1000

 

์ด ๊ฒฝ์šฐ ์›๋ž˜ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ ์„ฑ๊ณตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 10์ ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ 10 ๋Œ€์‹  100์„ ๋‚ด๊ณ , ์„ธ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ 100 ๋Œ€์‹  10์„ ๋‚ธ๋‹ค๋ฉด 110์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ 110 - 10 = 100์ด ์ •๋‹ต์ด ๋œ๋‹ค.

 

my solution (Java)

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.StringTokenizer;
 
 public class _11544_ { // D as in Daedalus
 
 	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 m = Integer.parseInt(st.nextToken());
 
 		int result = 0;
 		for (int i = 0; i < m; i++) {
 			st = new StringTokenizer(bf.readLine());
 
 			int b = Integer.parseInt(st.nextToken());
 
 			int c1 = Integer.parseInt(st.nextToken());
 
 			int sum = 0;
 			for (int j = 0; j < n - 1; j++) {
 				sum += Integer.parseInt(st.nextToken());
 			}
 
 			int expect = 0;
 			if (b > sum) {
 				int temp = b - sum;
 
 				if (temp >= 10000) {
 					expect = 10000;
 				} else if (temp >= 1000) {
 					expect = 1000;
 				} else if (temp >= 100) {
 					expect = 100;
 				} else if (temp >= 10) {
 					expect = 10;
 				} else if (temp >= 1) {
 					expect = 1;
 				}
 			}
 
 			int temp = 0;
 			sum += c1;
 			if (b >= sum) {
 				temp = c1;
 			}
 
 			result += (expect - temp);
 		}
 		System.out.println(result);
 	}
 }
๋ณ€์ˆ˜)
n, m : ํ”Œ๋ ˆ์ด์–ด ์ˆ˜, ๋ผ์šด๋“œ ์ˆ˜
result : ์ถ”๊ฐ€ ์ ์ˆ˜ ์ตœ๋Œ€ ์ด ์ˆ˜
b, c1, sum : ์˜ˆ์‚ฐ, Dedalus ์นด๋“œ, ํ”Œ๋ ˆ์ด์–ด ์นด๋“œ ํ•ฉ
expect : ์นด๋“œ๋ฅผ ๋ฐ”๊ฟ” ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜
temp : ํ˜„์žฌ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜

 

ํ”Œ๋ ˆ์ด์–ด ์ˆ˜์™€ ๋ผ์šด๋“œ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ผ์šด๋“œ ์ˆ˜๋งŒํผ ๋‹ค์Œ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

1) ์˜ˆ์‚ฐ์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

2) Daedalus์˜ ์นด๋“œ ๊ฐ’์„ c1์— ์ €์žฅํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ sum์— ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.

3) ์˜ˆ์‚ฐ ์•ˆ์—์„œ Daedalus๊ฐ€ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์นด๋“œ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

4) ์•„๋ฌด๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์€ n๋ช…์˜ ํ”Œ๋ ˆ์ด์–ด์˜ ์นด๋“œ ํ•ฉ์„ ๊ตฌํ•ด ์›๋ž˜ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

5) result์— ์นด๋“œ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์ ์ˆ˜ (expect - temp)๋ฅผ ๋”ํ•œ๋‹ค. 



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 28464_Potato  (1) 2025.04.30
[Baekjoon] 4335_์ˆซ์ž ๋งž์ถ”๊ธฐ  (0) 2025.04.29
[Baekjoon] 5840_Breed Proximity  (1) 2025.04.25
[Baekjoon] 21221_Bold  (0) 2025.04.24
[Baekjoon] 16815_Star in Parentheses  (1) 2025.04.23