백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 1946 , 신입 사원 [정렬]
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
shift 쓰니까 또 시간초과. 입력 받는 방법을 바꿔야겠다.
문제 출처
https://www.acmicpc.net/problem/1946
풀이
서류 심사 성적이나 면접 점수 한가지 기준을 정하고 오름차순 정렬한다.
서류성적으로 기준을 정했을때
서류 성적 1등의 면접점수를 가지고 2등, 3등 ... 을 확인한다.
1등의 면접등수보다 등수가 낮다면 이들은 뽑힐 수 없다.
그러다가 1등의 면접 등수보다 더 높은 등수를 가진 사람이 있다면 그사람은 면접 등수가 1등보다 높기때문에 뽑힐수 있다.
이제는 뽑은 사람의 면접등수를 기준으로 잡고 이후 똑같은 식으로 서류 등수들을 탐색한다.
ex)
1 4 <- 기준 4
2 5
3 6
4 2 <- 기준 2
5 7
6 1 <- 기준 1
7 3
정답
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const T = Number(input[0]);
let A = 1;
for (let i = 0; i < T; i++) {
let N = Number(input[A]);
list = [];
for (let j = 1; j < N + 1; j++) {
const [a, b] = input[A + j].split(" ").map(Number);
list.push([a, b]);
}
list.sort((a, b) => a[0] - b[0]);
let S = list[0][1];
let cnt = 1;
for (let i = 1; i < N; i++) {
if (S > list[i][1]) {
cnt += 1;
S = list[i][1];
}
}
console.log(cnt);
A += N + 1;
}
반응형
'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1755 , 숫자놀이 [정렬] (0) | 2022.09.07 |
---|---|
백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 1431, 시리얼 번호 [정렬] (0) | 2022.09.06 |
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1015 , 수열 정렬 [정렬] (0) | 2022.09.06 |
백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 24479 , 지름길 (0) | 2022.09.05 |
백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 24479 , 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.09.05 |