Frontend/JavaScript
์ ๊ท ํํ์(Regular Expression)์ ๋ฌธ์์ด์์ ํน์ ๋ฌธ์ ์กฐํฉ์ ์ฐพ๊ธฐ ์ํ ํจํด์ด๋ค. RegExp RegExp ์์ฑ์๋ ํจํด์ ์ฌ์ฉํด ํ
์คํธ๋ฅผ ํ๋ณํ ๋ ์ฌ์ฉํ๋ค. ๋ฆฌํฐ๋ด ํ๊ธฐ๋ฒ์ ๋งค๊ฐ๋ณ์๋ ๋ ๋น๊ธ์ผ๋ก ๊ฐ์ธ์ผ ํ๋ฉฐ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ์์ฑ์ ํจ์์ ๋งค๊ฐ๋ณ์๋ ๋น๊ธ์ผ๋ก ๊ฐ์ธ์ง ์์ผ๋ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ๋ค. // ์ ๊ท ํํ์ ์์ฑํ๊ธฐ /ab/g new RegExp(/ab/, 'g') // ๋ฆฌํฐ๋ด new RegExp('ab', 'g') // ์์ฑ์ ๋์ ์ผ๋ก ์ ๊ท ํํ์ ์์ฑํ๊ธฐ const ๋ณ์ = 'JS'; const regex = new RegExp(`${๋ณ์}`, 'g'); console.log(regex); // /JS/g ๐ง ์์ฉํ๊ธฐ match() ๋ฉ์๋๋ ๋ฌธ์์ด์ด ์ ๊ท์๊ณผ ๋งค์น๋๋..
Algorithm/๋ฐฑ์ค(BOJ)
๐ ๋ฌธ์ (์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ) 1181๋ฒ: ๋จ์ด ์ ๋ ฌ ์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค. www.acmicpc.net ๐ ํ์ด const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); function solution(input) { let answer; const [size, ...arr] = input; // ๊ฐ์ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ์
๋ ฅ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ์ฉ๋ง ์ถ๋ ฅ let newArr = [...new Set(arr)]; ..
Frontend/JavaScript
JavaScript์ ๋ฐฐ์ด(Array)๋ ๊ฐ์ฒด(ํจ์)๋ค. ๋ฐ๋ผ์, ๋ํ์ ๊ฐ์ฒด์งํฅ ์ธ์ด์ธ ์๋ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก new Array()๊ฐ ์กด์ฌํ๋ค. ๋ฐฐ์ด์ ์์ฑ์(new Array())์ ํ๋์ ์ซ์ ๋งค๊ฐ๋ณ์๋ก ์์ฑํ ์ ์์ง๋ง, ๊ทธ ๊ฒฐ๊ณผ๋ length๊ฐ ๋งค๊ฐ๋ณ์๊ณ , ๊ธธ์ด๋งํผ์ ๋น ์ฌ๋กฏ์ ๊ฐ์ง ๋ฐฐ์ด์ด๋ค. ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ ํ์ธํด๋ณด๋ฉด undefined๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. let datas = new Array(5) console.log(datas[0]) // undefined console.log(datas.length) // 5 ์๋์ ๊ฐ์ด new Array()์ ๋งค๊ฐ๋ณ์์ ์ํ๋ ์ด๊ธฐ๊ฐ๋ค์ ๋๊ฒจ์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๊ณผ ์ด๊ธฐํ๋ฅผ ๋์์ ํ ์ ์์ง๋ง, ๋ฐฐ์ด์ ๊ธธ์ด์ ๋ฐ๋ผ ํ๊ณ๊ฐ ์กด์ฌํ๋ค. // new Ar..