๋ฌธ์ ๋ด์ฉ ํ์ด๐โ๏ธ function solution(numbers) { const emptyArray = []; const numCount = numbers.length; for (let i = 0; i a - b); const result = sortedArray.filter( (value, idx) => sortedArray.indexOf(value) === idx ); return result; } /* (ํ์ด) ์ด๋ฒ ํ์ด๋ ๊ฒฐ..
์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด/Programmers-1
๋ฌธ์ ๋ด์ฉ ํ์ด ๐โ๏ธ function solution(strings, n) { strings.sort((secondArg, firstArg) => { if (secondArg[n] ํฐ์)์ด๋ฏ๋ก firstArg[n] ์ด secondArg[n] ๋ณด๋ค ํด ๊ฒฝ์ฐ ๋ฐฐ์ด์ ์์น๋ฅผ ๋ณ๊ฒฝํ๋๋ก -1์ ๋ฐํํ๊ณ ๋์ ๊ฐ์ด ๋์ผํ ๊ฒฝ์ฐ if๋ฌธ์ ํ๋ฒ ๋ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ..
๋ฌธ์ ๋ด์ฉ ํ์ด ๐โ๏ธ function solution(n) { for (i = 2; i < n; i++) { if (n % i === 1) return i; } } /* (ํ์ด) n์ ์ ํ์ฌํญ์ 3~1,000,000์ด๋ฏ๋ก i๋ฅผ 2๋ถํฐ ์์ํด์ for๋ฌธ์ ๋๋ฆฌ๊ณ ๋๋จธ์ง๊ฐ 1์ด๋๋๊ฒฝ์ฐ๊ฐ ๋์ค๋ฉด ๋ฐ๋ก i๋ฅผ return ํ๊ณ ๋ฐ๋ณต๋ฌธ์ ์ข
๋ฃํ๋ค. ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์์ฐ์ x ๋ฅผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํ ์๋ ์์๊น ๊ณ ๋ฏผํด ๋ดค๋๋ฐ ์ฐพ์ง ๋ชปํ๋ค๐ค */ ํธ๋ ๋ฐฉ์ ์์ฒด๋ ๊ด์ฐฎ๊ฒ ์ ํ์์ง๋ง for๋ฌธ์ ๋ณ์ i์ let,var ๋ฑ ๋ณ์ํค์๋๋ฅผ ๋ฌ์์ค์ผ ํ๋ ์ด์ ๋ฅผ ๋ชฐ๋๋๋ฐ ์ด๋ฒ์ ์๊ฒ๋์ผ๋ ๊ธฐ๋กํด๋ณด์. for๋ฌธ์์ let์ ์จ์ค์ผ ํ๋ ์ด์ var : ์ฌ์ ์ธ ๊ฐ๋ฅ, ์ฌํ ๋น ๊ฐ๋ฅ ( ํจ์ ๋ ๋ฒจ ์ค์ฝํ ) let : ์ฌ์ ์ธ ๋ถ๊ฐ..
๋ฌธ์ ๋ด์ฉ ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ ํ์ด ๐โ๏ธ function solution(seoul) { return `๊น์๋ฐฉ์ ${seoul.indexOf("Kim")}์ ์๋ค`; } /* (ํ์ด) indexOf ๋ช
๋ น์ด๋ก Kim ์ ์ฐพ์ ํ
ํ๋ฆฟ๋ฆฌํฐ๋ด์ ์ด์ฉํด ๋ฐ๋ก ๋ฆฌํดํด์คฌ๋ค. indexOf๋ O(n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ for๋ฌธ๊ณผ ๋์ผํ๊ณ for๋ฌธ์์ break์ ์ด์ฉํด ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ผ๋ฉด ๋ฐ๋ก ๋น ์ ธ๋์ค๋ ๊ฒ๊ณผ ๋์ผํ๊ธฐ์ ๊ฐ๋
์ฑ์ด ์ข์ indexOf๋ฅผ ์ฌ์ฉํ๋ค. */ ํ์ค๋ก ์ ํ์ด๋ธ๊ฒ ๊ฐ๋ค ๋ง์กฑ๐ช ๋ฌธ์ ๋ด์ฉ ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์ ํ์ด ๐โ๏ธ function solution(n) { return n % 2 === 0 ? "์๋ฐ".repeat(n / 2) : "์๋ฐ".repeat(n / 2) + "์"; } /* (ํ์ด) ..
๋ฌธ์ ๋ด์ฉ 3์ง๋ฒ์ด๋? ๐ค ์ฌ๋์ด ์ฌ์ฉํ๋ ๊ฒ์ 10์ง๋ฒ, ์ปดํจํฐ์์๋ 2์ง๋ฒ์ ์ฌ์ฉํ๋ค. 3์ง๋ฒ์ ์ฌ์ฉํ๋ ๊ณณ์ ๋ํด ์ฐพ์๋ดค๋๋ฐ ๋ฑํ ์ ๋ณด๊ฐ ์๋๊ฑฐ๊ฐ๋ค. ์ ์ด์ ์ด ํ์ด๋ 3์ง๋ฒ ๋ฟ๋ง ์๋๋ผ ์ง๋ฒ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ ๊ฒ์ด๊ธฐ์ ํ์์ ๋ฐ๋ผ ์ฌ์ฉํ๋ฉด ๋ ๊ฑฐ๊ฐ๋ค. ํ์ด ๐โ๏ธ function solution(n) { const convertNumber = n.toString(3).split("").reverse().join(""); const againConvertNumber = parseInt(convertNumber, 3); return againConvertNumber; } /* (ํ์ด) ์ฃผ์ด์ง n ์ toString์ผ๋ก 3์ง๋ฒ์ผ๋ก ๋ณ๊ฒฝํ๊ณ split์ผ๋ก ๊ฐ๊ฐ์ ์์๋ก ๋๋ ์ค ๋ค reverse ๋ฉ์๋๋ก ์..
๋ฌธ์ ๋ด์ฉ ๐โ๏ธํ์ด function solution(s) { const middleStrIndex = Math.floor(s.length / 2); return s.length % 2 === 0 ? s.substring(middleStrIndex - 1, middleStrIndex + 1) : s.substring(middleStrIndex, middleStrIndex + 1); } /* (ํ์ด) ๋ฌธ์์ด s์ length๋ฅผ ๋ฐ์ผ๋ก ๋๋์ด ๋ณ์์ ์ ์ฅํ๊ณ index๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ๋ด๋ substring(start, end) ๋ด์ฅ๋ฉ์๋๋ฅผ ์ด์ฉํด s.length๊ฐ ์ง์์ผ ๊ฒฝ์ฐ ๊ฐ์ด๋ฐ 2๊ฐ์ ๋ฌธ์์ด, ํ์์ผ ๊ฒฝ์ฐ ๊ฐ์ด๋ฐ ๋ฌธ์์ด 1๊ฐ๋ฅผ ๋ฐํํ๋ค. **substring์ end์ ์ด์ ๊น์ง ๋ฐํํ๋ฏ๋ก e..
๋ฌธ์ ๋ด์ฉ ๐โ๏ธํ์ด function solution(s) { let answer = true; const str = s.toUpperCase(); const stringArray = str.split(""); const pCount = stringArray.filter((item) => "P" === item).length; const yCount = stringArray.filter((item) => "Y" === item).length; if (pCount !== yCount) answer = false; return answer; } /* (ํ์ด) ์ฃผ์ด์ง ๋ฌธ์์ด s ๋ฅผ ๋๋ฌธ์๋ก ๋ณ๊ฒฝํ๊ณ split์ ์ด์ฉํด ๊ฐ์์ ์ํ๋ฒณ์ผ๋ก ๋๋์ด์ง ๋ฐฐ์ด๋ก ๋ง๋ค์ด ์ค ๋ค filterํจ์๋ฅผ ์ด์ฉํ์ฌ ํด๋นํ๋ ์ํ๋ฒณ..