Home 백준 Sport Climbing Combined (23246)
Post
Cancel

백준 Sport Climbing Combined (23246)

백준 Sport Climbing Combined (23246)

단순 정렬 문제 입니다.

백준 Sport Climbing Combined

스크린샷 2022-01-29 오전 2 02 40

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.*;
import java.io.*;

class Player {
	public int sum;
	public int div;
	public int num;

	Player(Scanner sc) {
		this.num = sc.nextInt();
		int lead = sc.nextInt();
		int speed = sc.nextInt();
		int bolder = sc.nextInt();
		this.div = lead * speed * bolder;
		this.sum = lead + speed + bolder;
	}
}

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);

		// 참가 선수 인원
		int n = sc.nextInt();

		// 선수들의 정보가 담겨있는 배열
		Player p[] = new Player[n];

		// 선수들 정보 입
		for (int i = 0; i < n; i++)
			p[i] = new Player(sc);

		for (int i = 0; i < n - 1; i++) {

			for (int j = 0; j < n - 1 - i; j++) {
				Player tmp;

				if (p[j].div == p[j + 1].div) { // 만약 곱이 같으
					if (p[j].sum == p[j + 1].sum) { // 합도 같으면 등번호가 낮은 선수가 이김
						if (p[j].num < p[j + 1].num) {
							tmp = p[j];
							p[j] = p[j + 1];
							p[j + 1] = tmp;
						}
					} else {
						if (p[j].sum < p[j + 1].sum) {
							tmp = p[j];
							p[j] = p[j + 1];
							p[j + 1] = tmp;
						}
					}
				} else {
					if (p[j].div < p[j + 1].div) {
						tmp = p[j];
						p[j] = p[j + 1];
						p[j + 1] = tmp;
					}
				}
			}
		}

		System.out.println(p[n - 1].num + " " + p[n - 2].num + " " + p[n - 3].num);
	}

}


This post is licensed under CC BY 4.0 by the author.