Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코딩테스트
- http 메소드
- HTTP/0.9
- 프론트엔드
- Jupyter notebook
- 헬스
- 도커 컨테이너
- 도커기본개념
- HTTP
- docker
- Nginx
- Python
- HTTP/3.0
- JavsScript
- Javascript
- gunicorn
- Nginx개념
- 백준
- HTTP/2.0
- CS기술면접
- 도커명령어
- IT
- CS
- 자바스크립트
- 운동
- 컴퓨터공학과
- 컴퓨공학과
- 취준생
- HTTP/1.0
- HTTP버전
Archives
- Today
- Total
dogo_ day
JavaScript 코딩테스트 9. 문제(백준 11650번) 본문
🔅알고리즘 난이도 Lv. 1
🌈문제풀이
자바스크립트에서 sort()의 시간복잡도는 (nlogn) 이다.
sort의 동작 원리(compareFunction)를 알고있다면 응용해서 문제를 해결할 수 있다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
그리고 결과를 출력할 때 매번 console.log를 찍는다면 시간초과일 수 있다.
result 변수에 담아서 한번만 출력하는 연습을 하자
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let n = Number(input[0]);
let arr = [];
for(let i = 1; i <= n; i++){
let r = input[i].split(' ').map(Number);
arr.push(r);
};
arr.sort((a, b) => {
if(a[0] > b[0])
return 1;
else if (b[0] > a[0])
return -1;
else{
if(a[1] > b[1])
return 1;
else if(b[1] > a[1])
return -1;
else
return 0;
}
})
let result = '';
for(const x of arr)
result += x[0] + ' ' + x[1] + '\n';
console.log(result);
const compare = (a,b) => {
if(a[0] != b[0]) return a[0] - b[0]; // x좌표를 기준으로 오름차순
else return a[1] - b[1]; // x가 같으면 y좌표 기준으로 오름차순
}
// 출처 : 패스트캠퍼스 - JavaScript 코딩테스트 131개 예재 & CS지식으로 끝내기
'IT > 코딩테스트_' 카테고리의 다른 글
JavaScript 코딩테스트 11. 문제(백준 10814번) (0) | 2023.05.07 |
---|---|
JavaScript 코딩테스트 10. 문제(백준 18870번) (0) | 2023.05.07 |
JavaScript 코딩테스트 8. 문제(백준 2675번) (0) | 2023.04.29 |
JavaScript 코딩테스트 7. 문제(백준 11720번) (0) | 2023.04.29 |
JavaScript 코딩테스트 6. 문제(백준 3052번) (0) | 2023.04.29 |