Question
๋ฐฑ์ค 3052๋ฒ : ๋๋จธ์ง
๋ ์์ฐ์ A์ B๊ฐ ์์ ๋, A%B๋ A๋ฅผ B๋ก ๋๋ ๋๋จธ์ง์ด๋ค. ์๋ฅผ ๋ค์ด, 7, 14, 27, 38์ 3์ผ๋ก ๋๋ ๋๋จธ์ง๋ 1, 2, 0, 2์ด๋ค.
์ 10๊ฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค, ์ด๋ฅผ 42๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ค. ๊ทธ ๋ค์ ์๋ก ๋ค๋ฅธ ๊ฐ์ด ๋ช ๊ฐ ์๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ ์์
1
2
3
4
5
6
7
8
9
10
์ถ๋ ฅ ์์
10
My Code
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let numArr = input.map(Number);
let length = numArr.length;
let remain = [];
let result = 0;
for (let i = 0 ; i < length; i++) {
remain.push(numArr[i] % 42)
for (let j = 0 ; j < length ; j++) {
if (remain[i] === remain[j]) {
result++;
}
}
}
console.log(result);
ํ๋ ธ์ต๋๋ค
WHY?
์์๋ก ๋ณด์ฌ์ค ์ฒซ๋ฒ์งธ ์ ๋ ฅ๊ฐ๋ค์ ๊ฒฐ๊ณผ๊ฐ์ด 10์ผ๋ก ์ ๋์์ ์ ๊ธ๋ฐฉ ํ์๋ค.
๐์ด๋ ํ๋ฉด์ ๋ฐ๋ก ์ ์ถํ๋๋ฐ ๋ก!
๋ ๋ฒ์งธ ์ ๋ ฅ ์์๋ฌธ์ ๋ฃ์ด๋ณด์๋ค.
๋ ๋ฒ์งธ ์ ๋ ฅ ์์๋ฌธ์ ์ ๋ถ 42์ ๋ฐฐ์๋ก ๋๋จธ์ง๊ฐ ๋ชจ๋ 0์ด๋ค.
์ถ๋ ฅ ๊ฐ์ผ๋ก 1์ด ๋์์ผ ํ๋๋ฐ 55๊ฐ ๋์๋ฒ๋ ธ๋ค.
๋ ์ฉ! ๐คฃ
if (remain[i] === remain[j]) ๋ถ๋ถ์์
์ค๋ณต์ด ํ์ฉ๋์ด 55๊ฐ ๋์ฌ๋ง ํ๋ค.
for ๋ฌธ์ผ๋ก๋ ์ฐ์ ๋๋จธ์ง๋ฅผ ๋ฃ์ ๋ฐฐ์ด๋ง ๋ง๋ค๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก method๋ฅผ ํด๊ฒฐํ๊ธฐ๋ก ํ๋ค.
ํ ์ ์์ ๊ฑฐ ๊ฐ๊ธด ํ๋ฐ ์ฝ๋๊ฐ ๊ธธ์ด์ง ๊ฑฐ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let numArr = input.map(Number);
let length = numArr.length;
let remain = [];
for (let i = 0 ; i < length; i++) {
remain.push(numArr[i] % 42)
}
let result = remain.filter((val ,idx) => remain.indexOf(val) === idx);
console.log(result.length);
๋ง์์ต๋๋ค!!
HOW?
1. for๋ฌธ์ ์ด์ฉํด ์ ๋ ฅ๋ ์ซ์๋ค์ด ๋ ๋ฐฐ์ด์ ์ ๊ทผํ์ฌ ๋๋จธ์ง๋ฅผ ๊ณ์ฐํ๊ณ remain ๋๋จธ์ง ๋ฐฐ์ด์ ๋ง๋ค์๋ค.
2. filter()๋ฅผ ํตํด ๋ฐฐ์ด ์์ ์ค๋ณต๋ ์ซ์๋ค์ ์ ๊ฑฐํ๋ค
filter() ๋ฉ์๋๋ ์ฃผ์ด์ง ํจ์์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๋ชจ๋ ์์๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํฉ๋๋ค.
โก๏ธ filter๋ ์กฐ๊ฑด์ ํต๊ณผํ ์์๋ค๋ง์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
โก๏ธ ํ๋ผ๋ฏธํฐ๋ก ํ์ฌ element, index๋ฅผ ๋ฐ์์์ indexOf()๋ฅผ ํตํด ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๊ฐ ๊ฐ์ง ์์ผ๋ฉด ์ ๊ฑฐํ๋ค.
3. ์๋ก ๋ง๋ค์ด์ง ๋ฐฐ์ด์ ๊ธธ์ด ๊ฐ์ ์ถ๋ ฅํ๋ค. (๋ช ๊ฐ?)
'Algorithms > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ฐฑ์ค 1065๋ฒ : ํ์ (0) | 2022.04.23 |
---|---|
[JS] ๋ฐฑ์ค 1546๋ฒ : ํ๊ท (0) | 2022.04.22 |
[JS] ๋ฐฑ์ค 2562๋ฒ : ์ต๋๊ฐ (0) | 2022.04.18 |
[JS] ๋ฐฑ์ค 1110๋ฒ : ๋ํ๊ธฐ ์ฌ์ดํด (0) | 2022.04.17 |
[JS] ๋ฐฑ์ค 10871๋ฒ : X๋ณด๋ค ์์ ์ (0) | 2022.04.16 |