[백준] - 10431 줄세우기 (node.js)

밀루·2025년 1월 14일
0

BOJ

목록 보기
47/82

문제링크

코드

// 줄세우기

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const arr = fs.readFileSync(filePath).toString().trim().split("\n");

const n = Number(arr[0]);

for (let i = 1; i <= n; i++) {
  let l1 = arr[i].split(" ").map(Number);
  const tnum = Number(l1[0]);
  
  let cnt = 0;
  for (let j = 2; j < l1.length; j++) {
    for (let k = 1; k < j; k++) { // 리스트의 처음부터 돌면서
      if (l1[k] > l1[j]) { // 앞에서 나(j)보다 큰 걸 찾으면
        cnt = cnt + j - k; // cnt 더하고
        const tmp = l1[j]; // swap
        l1.splice(j, 1);
        l1.splice(k, 0, tmp);
        break; // 찾고 swap했으니 break로 반복문 나가기
      }
    }
  }
  console.log(tnum, cnt);
}
profile
이밀루의 도전

0개의 댓글