์๊ณ ๋ฆฌ์ฆ
[JS] ๋ฐฑ์ค 3052๋ฒ ๋๋จธ์ง
minjuuu
2021. 9. 28. 02:34
728x90
๐ฑ๐ 1. ๋ฌธ์ : 3052
https://www.acmicpc.net/problem/3052
๐ฅ 2.1 Set์ ์ด์ฉํ ํ์ด
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
// ์
๋ ฅ๋ฐ์ ๋ฌธ์๋ฐฐ์ด์ ์ซ์๋ฐฐ์ด๋ก ๋ณํ, Num์ผ๋ก ๋ฐ๊ฟ์ผ ๊ณต๋ฐฑ์์ด ์ ๋๋ก ๋น๊ต ๊ฐ๋ฅ.
// trim()์ ์ ์ฉํด์ผ๋ง ๋ง์ง๋ง์ ๊ณต๋ฐฑ ''๊ฐ ์์.
let input = fs.readFileSync(file).toString().trim().split('\n').map(n => Number(n));
//[ 39, 40, 41, 0, 1, 2, 40, 41, 0, 1]
let arr = input.map((n) => n % 42);
// set ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐ.
let set = new Set(arr);
// ์ค๋ณต๋์ง ์์ ์์๋ค๋ง ๋ฐ๋ก ๋ฐฐ์ด ์์ฑ.
let NotSameNum = [...set];
console.log(NotSameNum.length);
๐ฅ 2.1 for๋ฌธ์ ์ฌ์ฉํ ์ฝ๋
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
// ์
๋ ฅ๋ฐ์ ๋ฌธ์๋ฐฐ์ด์ ์ซ์๋ฐฐ์ด๋ก ๋ณํ, Num์ผ๋ก ๋ฐ๊ฟ์ผ ๊ณต๋ฐฑ์์ด ์ ๋๋ก ๋น๊ต ๊ฐ๋ฅ.
// trim()์ ์ ์ฉํด์ผ๋ง ๋ง์ง๋ง์ ๊ณต๋ฐฑ ''๊ฐ ์์.
let input = fs.readFileSync(file).toString().trim().split('\n');
let check = [];
let num;
for (let i = 0; i < input.length; i++) {
num = input[i] % 42;
// ๋ง์ฝ check ์ธ๋ฑ์ค ์์์์ num์ด ์์ ๊ฒฝ์ฐ, ๋ฐฐ์ด์์ ํด๋น ๊ฐ์ push
if (check.indexOf(num) === -1) check.push(num);
}
console.log(check.length);728x90