๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1980_ํ–„๋ฒ„๊ฑฐ ์‚ฌ๋ž‘

๋ฟŒ์•ผ._. 2024. 7. 8. 14:36
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/1980)

< ํ–„๋ฒ„๊ฑฐ ์‚ฌ๋ž‘ >

 

๋ฌธ์ œ ํ’€์ด 

 

ํƒ€์›Œ๋ฒ„๊ฑฐ์™€ ๋ถˆ๊ณ ๊ธฐ๋ฒ„๊ฑฐ ์ค‘์—์„œ ๋จน๋Š” ์‹œ๊ฐ„์ด ์ ๊ฒŒ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ t๋ถ„ ์•ˆ์— ๊ฐ€์žฅ ๋งŽ์ด ๋จน์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•œ๋‹ค.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class _1980_ { // ํ–„๋ฒ„๊ฑฐ ์‚ฌ๋ž‘

	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 t = Integer.parseInt(st.nextToken());

		if (n > m) {
			int temp = n;
			n = m;
			m = temp;
		}
		int max = 0, time = t, idx=0;
		while (t / n >= idx) {
			int temp = (t - (n * idx)) / m;
			if (t - (n * idx) - (m * temp) < time) {
				max = temp + idx;
				time = t - (n * idx) - (m * temp);
			} else if (t - (n * idx) - (m * temp) == time) {
				max = Math.max(max, temp + idx);
			}
			idx += 1;
		}
		System.out.println(max + " " + time);
	}
}
๋ณ€์ˆ˜)
n, m, t : ํƒ€์›Œ๋ฒ„๊ฑฐ, ๋ถˆ๊ณ ๊ธฐ๋ฒ„๊ฑฐ ๋จน๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ 
max, time, idx : ๋จน์€ ํ–„๋ฒ„๊ฑฐ ๊ฐœ์ˆ˜, ์ฝœ๋ผ๋ฅผ ๋งˆ์‹  ์‹œ๊ฐ„, (ํƒ€์›Œ๋ฒ„๊ฑฐ, ๋ถˆ๊ณ ๊ธฐ๋ฒ„๊ฑฐ ์ค‘ ์‹œ๊ฐ„์ด ์ ๊ฒŒ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ํ–„๋ฒ„๊ฑฐ ๋จน์€ ๊ฐœ์ˆ˜)

 

ํƒ€์›Œ๋ฒ„๊ฑฐ, ๋ถˆ๊ณ ๊ธฐ๋ฒ„๊ฑฐ๋ฅผ ๋จน๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํƒ€์›Œ๋ฒ„๊ฑฐ์™€ ๋ถˆ๊ณ ๊ธฐ๋ฒ„๊ฑฐ ์ค‘์—์„œ ์‹œ๊ฐ„์ด ์ ๊ฒŒ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ n์œผ๋กœ ์ €์žฅํ•˜๊ณ , ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ m์œผ๋กœ ์ €์žฅํ•œ๋‹ค. 

 

t์‹œ๊ฐ„ ์•ˆ์— ๋จน์„ ์ˆ˜ ์žˆ๋Š” n ํ–„๋ฒ„๊ฑฐ์˜ ๊ฐœ์ˆ˜๋ฅผ idx, m ํ–„๋ฒ„๊ฑฐ์˜ ๊ฐœ์ˆ˜๋ฅผ temp์— ์ €์žฅํ•œ๋‹ค. ๊ฐ ํ–„๋ฒ„๊ฑฐ๋ฅผ ๋จน๊ณ  ์ฝœ๋ผ๋ฅผ ๋งˆ์‹œ๋Š” ์‹œ๊ฐ„์ด time๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ๋งŒ์•ฝ time๊ณผ ๊ฐ™๋‹ค๋ฉด ํ–„๋ฒ„๊ฑฐ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. idx๊ฐ’์„ 0๋ถ€ํ„ฐ ๋Š˜๋ ค๊ฐ€๋ฉฐ t/n ์ดํ•˜์ผ ๋•Œ ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

์ตœ์ข… ํ–„๋ฒ„๊ฑฐ์˜ ๊ฐœ์ˆ˜์™€ ์ฝœ๋ผ๋ฅผ ๋งˆ์‹  ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.