[백준 알고리즘] Node.js 7568. 덩치
2023. 8. 3. 13:55ㆍ코딩연습
1. 문제
https://www.acmicpc.net/problem/7568
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
2. 풀이
- 입력 첫째 줄에 N 명이 들어오고 이후 각 사람의 몸무게와 키의 배열이 들어온다.
- 덩치가 크다는 의미는 몸무게와 키 두가지 모두 다른 사람보다 큰 값을 가져야 한다.
const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +inputs.shift();
const mans = inputs.map(v => v.split(' ').map(vv=> +vv));
// 사람들의 등수를 매기기 위한 배열. 기본값 1로 셋팅.
const rankMans = Array(N).fill(1);
// 한 사람을 기준으로 비교하기 위해 이중 for문 사용.
for(let i = 0; i < N; i++){
for(let j = 0; j < N; j++){
if(i === j) continue; // 같은 사람을 비교할 필요가 없으므로 continue;
// 만약 비교된 대상의 키와 몸무게가 모두 작다면 그 사람의 등수 증가.
if(mans[i][0] < mans[j][0] && mans[i][1] < mans[j][1]){
rankMans[i]++;
}
}
}
// 결과값 출력.
console.log(rankMans.join(" "));
3. 정리
- 처음에 동일한 등수를 가진다는 것에 당황했다. 하지만 브루트포스 알고리즘이라는 부분에서 힌트를 얻어 쉽게 해결한 문제였다.
- 아직 문제를 보고 어떤 방식으로 풀어나가야 할 지에 대한 생각이 바로 떠오르진 않는다. 좀 더 풀어보면 그래도 나아지지 않을까...........
'코딩연습' 카테고리의 다른 글
[백준 알고리즘] Node.js 1402. 아무래도이문제는A번난이도인것같다 (0) | 2023.08.07 |
---|---|
[백준 알고리즘] Node.js 1475. 방 번호 (0) | 2023.08.03 |
[백준 알고리즘] Node.js 11403. 경로 찾기 (0) | 2023.07.26 |
[백준 알고리즘] Node.js 10866. 덱 (0) | 2023.07.21 |
[백준 알고리즘] Node.js 10845. 큐 (0) | 2023.07.21 |