let input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n");
const length = input[0];
const array = input[1].split(" ").map(i => Number(i));
const countValue = Number(input[2]);
const isCollect = (num) => {
if (num === countValue) { return true };
}
const result = array.filter(isCollect);
console.log(result.length);
๐ก ๋ฐฐ์ด์ ํน์ ํ ๊ฐ์ ์ฐพ์ ์ ์๋์ง ์์๋ณด๋ ๋ฌธ์
์ฌ์ค ์์ ๋ชฐ๋ผ์ ๊ฒ์ ๋จผ์ ํด๋ดค๋ค.
๋ฐฐ์ด์ ํน์ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ method ๋ ๋๊ฐ์ง๊ฐ ์๋ค.
(*method๋ ๊ฐ์ฒด์ ์์ฑ์ธ ํจ์)
find() ์ filter()
๐ก find()
ํน์ ์กฐ๊ฑด์ callback ํจ์๋ฅผ ํตํด ์ ๋ฌ,
์กฐ๊ฑด์ ํด๋นํ๋ ๊ฐ์ด ์์ ๊ฒฝ์ฐ -> ๋ฐฐ์ด์์ ์ฒซ๋ฒ์งธ๋ก ์ผ์นํ๋ ๊ฐ์ ๋ฆฌํดํ๋ค.
์กฐ๊ฑด์ ํด๋นํ๋ ๊ฐ์ด ์์ ๊ฒฝ์ฐ -> undefined ๋ฅผ ๋ฆฌํดํ๋ค.
๐ก filter()
find() ์๋ ๋ฌ๋ฆฌ ํน์ ์กฐ๊ฑด์ ์ผ์นํ๋ (= true๋ฅผ ๋ฆฌํดํ๋) ๋ฐฐ์ด์ ๋ชจ๋ ๊ฐ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ง๋ค์ด ๋ฆฌํดํ๋ค.
๐ก ํ์ด
์ฐพ์์ผ์ ๋ช๊ฐ ์ง ์์์ผํ๋ ์ : countValue :: input[2] -> Number๋ก ๋ฐ๊ฟ.
isCollect ํจ์ : countValue ๊ฐ ๋ง์ผ๋ฉด true๋ฅผ ๋ฆฌํดํ๋ ํจ์.
result : isCollect ์์ true ๊ฐ ๋์จ ๊ฐ๋ค์ ๋ชจ์๋์ ๋ฐฐ์ด
๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ผ๊ณ ํ์ผ๋ result์ length ๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค!
'ํ์ ๊ณต๋ถ > ๐ซง ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ฐฑ์ค/Node.js] 10818๋ฒ ํ์ด || JavaScript (0) | 2023.03.04 |
|---|---|
| [๋ฐฑ์ค/Node.js] 10871๋ฒ ํ์ด || JavaScript (0) | 2023.03.03 |
| [๋ฐฑ์ค/Node.js] 10951๋ฒ ํ์ด || JavaScript (0) | 2023.03.01 |
| [๋ฐฑ์ค/Node.js] 10952๋ฒ ํ์ด || JavaScript (1) | 2023.02.28 |
| [๋ฐฑ์ค/Node.js] 2439๋ฒ ํ์ด || JavaScript (0) | 2023.02.27 |