Skip to content

Commit

Permalink
#21 22.07.25 > 정렬 > 국영수
Browse files Browse the repository at this point in the history
  • Loading branch information
beurmuz committed Jul 25, 2022
1 parent e40490d commit 542b2da
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/cote/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
|1|[그리디](./greedy/)|[거스름돈](./greedy/greedy_ex.js)<br>[큰 수의 법칙](./greedy/greedy_01.js)<br>[숫자 카드 게임](./greedy/greedy_02.js)<br>[1이 될 때까지](./greedy/greedy_03.js)<br>-<br>[모험가 길드](./greedy/test_01.js)<br>[곱하기 혹은 더하기](./greedy/test_02.js)<br>[문자열 뒤집기](./greedy/test_03.js)<br>|22.07.14<br><br><br><br>-<br>22.07.16<br><br><br>|O<br>X<br>O<br>O<br>-<br>O<br>O<br>O<br>|X<br>[22.07.16](./greedy/replay_01.js)<br>X<br>X<br>-<br>O<br>X<br>X<br>|
|2|[구현](./implementation/)|[상하좌우](./implementation/imple_ex01.js)<br>[시각](./implementation/imple_ex02.js)<br>[왕실의 나이트](./implementation/imple_01.js)<br>[게임 개발](./implementation/imple_02.js)<br>-<br>[럭키 스트레이트](./implementation/test_01.js)<br>[문자열 재정렬](./implementation/test_02.js)<br>|22.07.15<br><br><br><br>-<br>22.07.20<br>22.07.23<br>|△<br>△<br>△<br>X<br>-<br>O<br>O|[22.07.17](./implementation/../replay_01.js)<br>[22.07.18](./implementation/replay_02.js)<br>[22.07.19](./implementation//replay_03.js)<br>[22.07.19](./implementation/replay_04.js)<br>-<br>X<br>X|
|3|[DFS, BFS](./dfs%2Cbfs/)|[DFS 예제](./dfs%2Cbfs/dfs_ex.js)<br>[BFS 예제](./dfs%2Cbfs/dfs_ex.js)<br>[음료수 얼려 먹기](./dfs%2Cbfs/dfs%2Cbfs_01.js)<br>[미로 탈출](./dfs%2Cbfs/dfs%2Cbfs_02.js)<br>-<br>응|22.07.15<br><br>22.07.21<br>22.07.22<br>-<br>응|O<br>O<br>X<br>X<br>-<br>응|O<br>O<br>O<br>O<br>-<br>ㅇ|
|4|[정렬](./sort/)|[위에서 아래로](./sort/sort_ex_01.js)<br>[성적이 낮은 순서로 학생 출력하기](./sort/sort_ex_02.js)<br>[두 배열의 원소 교체](./sort/sort_ex_03.js)|22.07.22<br>22.07.24<br><br>|O<br>O<br>O<br>|X<br>X<br>X<br>|
|4|[정렬](./sort/)|[위에서 아래로](./sort/sort_ex_01.js)<br>[성적이 낮은 순서로 학생 출력하기](./sort/sort_ex_02.js)<br>[두 배열의 원소 교체](./sort/sort_ex_03.js)<br>-<br>[국영수](./sort/test_01.js)|22.07.22<br>22.07.24<br><br>-<br>22.07.25<br>|O<br>O<br>O<br>-<br>O|X<br>X<br>X<br>-<br>O|
53 changes: 53 additions & 0 deletions src/cote/sort/test_01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
'use strict';

function solution(N, arr) {
arr.sort((a, b) => {
if (a[1] < b[1]) return 1
else if (a[1] > b[1]) return -1
else {
if (a[2] > b[2]) return 1
else if (a[2] < b[2]) return -1
else {
if (a[3] < b[3]) return 1
else if (a[3] > b[3]) return -1
else {
if (a[0] > b[0]) return 1
else if (a[0] < b[0]) return -1
else return 0
}
}
}
});

arr.forEach((student) => console.log(student[0]));
}

const arr = [['Junkyu', 50, 60, 100],
['SangKeun', 80, 60, 50],
['Sunyoung', 80, 70, 100],
['Soong', 50, 60, 90],
['Haebin', 50, 60, 100],
['Kangsoo', 60, 80, 100],
['Donghyuk', 80, 60, 100],
['Sei', 70, 70, 70],
['Wonseon', 70, 70, 90],
['Sanghyun', 70, 70, 80],
['nsj', 80, 80, 80],
['Taewhan', 50, 60, 90]
]
console.log(solution(12, arr));

// 다른 방법
/*
arr.sort((a, b) => {
const aScore = (100-a[1])*10**6 + a[2]*10**3 + (100-a[3]);
const bScore = (100-b[1])*10**6 + b[2]*10**3 + (100-b[3]);
if (aScore === bScore) {
if (a[0] > b[0]) return 1
else if (a[0] < b[0]) return -1
else return 0
} else {
return aScore - bScore;
}
});
*/

0 comments on commit 542b2da

Please sign in to comment.