๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 23246_Sport Climbing Combined

๋ฟŒ์•ผ._. 2024. 6. 12. 11:09

Silver V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/23246)

< Sport Climbing Combined >

 

๋ฌธ์ œ ํ’€์ด 

 

์ˆœ์œ„์˜ ๊ณฑ๊ณผ ํ•ฉ์„ ๊ตฌํ•œ ํ›„ ArrayList์— [๋“ฑ๋ฒˆํ˜ธ, ํ•ฉ์‚ฐ ์ ‘์ˆ˜, ๊ณฑํ•œ ์ ์ˆ˜] ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค. ๊ณฑํ•œ ์ ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ, ๊ณฑํ•œ ์ ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ํ•ฉ์‚ฐ ์ ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ, ํ•ฉ์‚ฐ ์ ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋“ฑ๋ฒˆํ˜ธ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

 

 

 my solution (Java)

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

public class _23246_ { // Sport Climbing Combined

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

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

		ArrayList<int[]> list = new ArrayList<>();
		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(bf.readLine());

			int num = Integer.parseInt(st.nextToken());

			int sum = 0;
			int score = 1;

			for (int j = 0; j < 3; j++) {
				int x = Integer.parseInt(st.nextToken());

				sum += x;
				score *= x;
			}
			list.add(new int[] { num, sum, score });
		}

		Collections.sort(list, new Comparator<int[]>() {
			@Override
			public int compare(int[] o1, int[] o2) {
				if (o1[2] == o2[2]) {
					if (o1[1] == o2[1]) {
						return o1[0] - o2[0];
					}
					return o1[1] - o2[1];
				}
				return o1[2] - o2[2];
			}
		});

		for (int i = 0; i < 3; i++) {
			bw.write(list.get(i)[0] + " ");
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
n : ์„ ์ˆ˜์˜ ๋ช…์ˆ˜
list : ArrayList <int []>
num : ๋“ฑ๋ฒˆํ˜ธ
sum : ํ•ฉ์‚ฐ ์ ์ˆ˜
score : ๊ณฑํ•œ ์ ์ˆ˜

 

์„ ์ˆ˜์˜ ๋ช…์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์„ ์ˆ˜ ์ˆ˜๋งŒํผ ๊ฐ ๋“ฑ๋ฒˆํ˜ธ์™€ ์ˆœ์œ„๋ฅผ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ ์ˆœ์œ„ ํ•ฉ๊ณผ ๊ณฑ์„ ๊ตฌํ•ด ArrayList์— ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค. ArrayList๋ฅผ ๊ณฑํ•œ ์ ์ˆ˜ ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ, ๊ณฑํ•œ ์ ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ํ•ฉ์‚ฐ ์ ์ˆ˜ ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ, ํ•ฉ์‚ฐ ์ ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋“ฑ๋ฒˆํ˜ธ ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. 

 

์ตœ์ข… ArrayList์˜ 0๋ฒˆ์งธ๋ถ€ํ„ฐ 2๋ฒˆ์งธ๊นŒ์ง€์˜ ๋“ฑ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.