💡 구글에 Javascript 풀이가 많이 없으면, 좋은 풀이 여부에 상관 없이 포스팅합니다.
https://www.acmicpc.net/problem/14467
//* 인풋 - 디폴트
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = fs.readFileSync(filePath).toString().split('\n');
//* 인풋 - 커스텀, 함수 콜
const [n, ...nums] = input.map((nums) => nums.split(' ').map((num) => Number(num)));
console.log(sol(n, nums));
//* 로직함수
function sol(n, nums) {
let map = new Map();
let count = 0;
for (let i = 0; i < n; i++) {
let key = nums[i][0];
let curValue = nums[i][1];
let preValue = map.get(key);
if (preValue === undefined) {
map.set(key, curValue);
} else {
if (preValue !== curValue) {
count++;
map.set(key, curValue);
}
}
}
return count;
}
Javascript풀이가 많지 않고, 마음에 쏙 드는 풀이가 없어 생략합니다.
Map으로 풀리는게 많네용