[백준] 12033 김인천씨의 식료품가게 (Small) Node.JS, JavaScript

0

Problem Solving

목록 보기
41/49
post-thumbnail

문제

https://www.acmicpc.net/problem/12033

풀이

오름차순과 정답이 무조건 존재한다는 점, N이 최대 4라는 점 때문에 풀기 편했다.
이중포문으로 하나하나씩 확인하며 3/4배를 만족하는지 보면된다.
주의할점은 Node.js 풀이 환경인 경우 for문내에서 console.log를 하면안된다 (아마도 리눅스 환경이랑 달라서 인듯.. 이거때문에 오랜시간 날렸다.)
testcase에 해당하는 정답을 모아서 한번에 console.log를 할 수 있도록 하자.

const input = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n").map((e) => e.split(" ").map(Number)).filter((e) => e.length > 1);;

/* a가 b의 할인가격이면 true 리턴하는 함수*/
const isValid = (a, b) => b * 0.75 === a;

let answer = new Array();
input.forEach((testcase) => {
    const visited = new Array(testcase.length).fill(0);
    const temp = new Array();
    testcase.forEach((a, i) => {
        if (!visited[i]) {
            for (let j = i + 1; j < testcase.length; j++) {
                if (isValid(a, testcase[j]) && !visited[j]) {
                    visited[i] = 1;
                    visited[j] = 2;
                    break;
                }
            }
        }
    });
    visited.forEach((e, i) => {
        if (e === 1) temp.push(testcase[i]);
    });
    answer.push(temp);
});
answer.forEach((e, index) => console.log(`Case #${index + 1}:`, e.join(" ")));

0개의 댓글