티스토리 뷰

https://www.acmicpc.net/problem/10825

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1

www.acmicpc.net

const input = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n');
input.shift();

const studentSort = (a, b) => {
	if (a[1] == b[1]) {
		if (a[2] == b[2]) {
			if (a[3] == b[3]) {
				if (a[0] > b[0]) return 1;
				else if (b[0] > a[0]) return -1;
				else return 0;
			} else {
				return b[3] - a[3];
			}
		} else {
			return a[2] - b[2];
		}
	} else {
		return b[1] - a[1];
	}
};
console.log(
	input
		.map((v) => v.split(' '))
		.map((v) => [v[0], +v[1], +v[2], +v[3]])
		.sort(studentSort)
		.map((v) => v[0])
		.join('\n')
);
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함