๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 13717_ํฌ์ผ“๋ชฌ GO

๋ฟŒ์•ผ._. 2024. 8. 8. 23:45
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/13717)

< ํฌ์ผ“๋ชฌ GO >

 

๋ฌธ์ œ ํ’€์ด 

 

๊ฐ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ArrayList์— ์ €์žฅํ•œ ํ›„ ํฌ์ผ“๋ชฌ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

 

 

 my solution (Java)

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

public class _13717_ { // ํฌ์ผ“๋ชฌ GO
	static class Pokemon implements Comparable<Pokemon> {
		private String name;
		private int cnt;

		public Pokemon(String name, int cnt) {
			this.name = name;
			this.cnt = cnt;
		}

		@Override
		public int compareTo(Pokemon o) {
			return o.cnt - this.cnt;
		}
	}

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int n = Integer.parseInt(bf.readLine());

		ArrayList<Pokemon> list = new ArrayList<>();
		int sum = 0;

		for (int i = 0; i < n; i++) {
			String p = bf.readLine();

			st = new StringTokenizer(bf.readLine());
			int k = Integer.parseInt(st.nextToken());
			int m = Integer.parseInt(st.nextToken());

			int cnt = 0;
			while (k <= m) {
				m = m - k + 2;
				cnt += 1;
			}
			sum += cnt;
			list.add(new Pokemon(p, cnt));
		}
		Collections.sort(list);

		System.out.println(sum + "\n" + list.get(0).name);
	}
}
๋ณ€์ˆ˜)
n : ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ์ˆ˜
list : ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜์™€ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ArrayList
sum : ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ์ด ๋งˆ๋ฆฌ์ˆ˜
p : ํฌ์ผ“๋ชฌ ์ด๋ฆ„
k, m : ์ง„ํ™”์— ํ•„์š”ํ•œ ์‚ฌํƒ•์˜ ์ˆ˜, ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ด ์‚ฌํƒ•์˜ ์ˆ˜
cnt : ๊ฐ ํฌ์ผ“๋ชฌ๋งˆ๋‹ค ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜

 

Pokemon

ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„๊ณผ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ˆ˜๋ฅผ ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง

 

Main

ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ์ˆ˜๋งŒํผ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„๊ณผ ์ง„ํ™”์— ํ•„์š”ํ•œ ์‚ฌํƒ•์˜ ์ˆ˜, ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ด ์‚ฌํƒ•์˜ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

2) ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

3) list์— ์ €์žฅ

 

ArrayList๋ฅผ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ์ตœ์ข… ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ์ด ๋งˆ๋ฆฌ์ˆ˜์™€ ๊ฐ€์žฅ ๋งŽ์ด ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•œ๋‹ค.