알고리즘 문제 풀이

백준 7568번 node.js (자바스크립트)

whale3 2021. 10. 8. 23:32

문제

내 코드 

const [n, ...arr] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const peopleArr = arr.map(v => v.split(' ')); 
let count = 1;
let answer = [];

for(let i = 0; i < peopleArr.length; i++) {
    const [weight, height] = peopleArr[i];
    
    for(let j = 0; j < peopleArr.length; j++) {
        const [w, h] = peopleArr[j];
        if(i != j && weight < w && height < h) {
            count += 1;
        }
    }
    answer.push(count);
    count = 1; 
}

const str = answer.join(' ');
console.log(str);

 

결과

 

 

 

아놔 오랜만에 for문 썼더니, arr.length 이렇게 써야하는걸 계속 arr 이렇게 써놓고 다른거 틀린 줄 알고 계속 헤맸다.

백준에서 문제풀면 디버깅이 너무 어렵다.

코드입력하는 인터페이스 좀 바꿨음 좋겠다.

처음엔 틀린 데가 없는데 계속 틀리다고 나와서 인터넷에서 풀이 검색하다가 첫번째 줄처럼 전개 연산자, 스프레드를 사용해서 할당하는 방법도 발견하고 나름 수확이 있었다. 

 

es6의 feature 들은 계속 사용하는 습관을 들여야 자연스레 사용할 수 있게 되는 것 같다. 

머리로만 알고 손으로 타이핑하지 않으면 '마음으로는 알겠는데 손이 안 움직여! 생각이 안나!'의 상태가 된다... 

반응형