์๋ฌด ์์๋ ๋ค์ด์์ง ์์ ๋น ๋ฐฐ์ด X๊ฐ ์์ต๋๋ค. ์์ ์ ์ ๋ฐฐ์ด arr๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, arr์ ์์์๋ถํฐ ์ฐจ๋ก๋๋ก ์์๋ฅผ ๋ณด๋ฉด์ ์์๊ฐ a๋ผ๋ฉด X์ ๋งจ ๋ค์ a๋ฅผ a๋ฒ ์ถ๊ฐํ๋ ์ผ์ ๋ฐ๋ณตํ ๋ค์ ๋ฐฐ์ด X๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
function solution(arr) {
let answer = [];
for(let i = 0; i < arr.length; i++){
for(let j=0; j < arr[i]; j++){
answer.push(arr[i])
}
}
return answer;
}
function solution(arr) {
return arr.reduce((list, num) => [...list, ...new Array(num).fill(num)], []);
}
reduce ํจ์์ Array() ํจ์, fill ํจ์๋ฅผ ์ ์ ํ๊ฒ ์ ์์ด ์ฌ์ฉํ๋ค.
reduce์ acc
์ธ์์ cur
์ธ์๋ฅผ ์ด์ฉํด์ ๋ฐฐ์ด์ ํฉ์ณ์คฌ๋ค.
์ฆ ์ ์ฝ๋์์ list
๊ฐ acc
์ ํด๋นํ๊ณ num
์ด cur
์ ํด๋น!
๋งจ ๋ค []
๋ ์ด๊ธฐ๊ฐ์ ์๋ฏธํ๋ค.
์ด๋ค ์ธ๊ท ์ 1์๊ฐ์ ๋๋ฐฐ๋งํผ ์ฆ์ํ๋ค๊ณ ํฉ๋๋ค. ์ฒ์ ์ธ๊ท ์ ๋ง๋ฆฌ์ n๊ณผ ๊ฒฝ๊ณผํ ์๊ฐ t๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ t์๊ฐ ํ ์ธ๊ท ์ ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
function solution(n, t) {
let answer = n;
for(let i = 0; i < t; i++){
answer *= 2
}
return answer;
}
function solution(n, t) {
return n << t;
}
์ํํธ ๋นํธ ์ฐ์ฐ์! ์์ ๊ฐ๊ฒฐํ๊ณ ๊น๋ํ๋ค.
์ฌ๊ธฐ์ ์ฐ์ธ ๊ฑด ์ผ์ชฝ ์ํํธ ๋นํธ ์ฐ์ฐ์
์ด ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ช ์ํ ๋นํธ ์๋งํผ ์ผ์ชฝ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ผ์ชฝ์ผ๋ก ์ด๋๋ ์ด๊ณผ ๋นํธ๋ ํ๊ธฐ๋ฉ๋๋ค. ์ค๋ฅธ์ชฝ์ ์์ง์ธ ๋นํธ ์ ๋งํผ 0 ๋นํธ๋ก ์ฑ์์ง๋๋ค.
์์์ ์ซ์ x
๋ฅผ ์ผ์ชฝ์ผ๋ก y
๋นํธ ๋จ์๋ก ์ด๋ํ๋ฉด x * 2 ** y
์ด๋ค.
์๋ฅผ ๋ค์ด, 9 << 2
์ 36
์ด๋ค.
์ต๋ 5๋ช ์ฉ ํ์น๊ฐ๋ฅํ ๋์ด๊ธฐ๊ตฌ๋ฅผ ํ๊ธฐ ์ํด ์ค์ ์์๋ ์ฌ๋๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฌธ์์ด ๋ฆฌ์คํธ names๊ฐ ์ฃผ์ด์ง ๋, ์์์ ๋ถํฐ 5๋ช ์ฉ ๋ฌถ์ ๊ทธ๋ฃน์ ๊ฐ์ฅ ์์ ์์๋ ์ฌ๋๋ค์ ์ด๋ฆ์ ๋ด์ ๋ฆฌ์คํธ๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๋ง์ง๋ง ๊ทธ๋ฃน์ด 5๋ช ์ด ๋์ง ์๋๋ผ๋ ๊ฐ์ฅ ์์ ์๋ ์ฌ๋์ ์ด๋ฆ์ ํฌํจํฉ๋๋ค.
function solution(names) {
let leaders = [];
for(let i = 0; i < names.length; i+=5){
leaders.push(names[i])
}
return leaders;
}
const solution = names => names.filter((_, i) => !(i % 5))
filter๋ฅผ ์ ์ฌ์ฉํจ.
value๋ ์๋ฏธ๊ฐ ์
์ด์ _
๋ก ํ์ํ๊ณ , ์ค์ํ ๊ฑด index! ์ธ๋ฑ์ค๋ฅผ 5๋ก ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 0์ธ ์์๋ง ๋ฌถ์ ๋ฐฐ์ด์ ๋ฐํ!
0
(0, 1, 2, 3, 4 ๊ทธ๋ฃน์ ๊ฐ์ฅ ์ ์ฌ๋)5
(5, 6, 7, 8, 9 ๊ทธ๋ฃน์ ๊ฐ์ฅ ์ ์ฌ๋)10
(10, 11, 12, 13, 14 ๊ทธ๋ฃน์ ๊ฐ์ฅ ์ ์ฌ๋)...์ ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด n_str์ด ์ฃผ์ด์ง ๋, n_str์ ๊ฐ์ฅ ์ผ์ชฝ์ ์ฒ์์ผ๋ก ๋ฑ์ฅํ๋ 0๋ค์ ๋ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
function solution(n_str) {
let i = 0;
while(n_str[i] === "0"){
i++
}
return n_str.slice(i);
}
const solution = (str) => String(Number(str))
Number
๋ก ์ซ์ํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ์๋์ผ๋ก ์ ๋ถ๋ถ 0์ ๋ผ์ง๋ค! ๊ทธ๊ฑธ ๋ค์ String
์ผ๋ก ๋ฌธ์์ด๋ก๋ณํํด์ return
ํด์ฃผ๋ฉด ๋~ https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Left_shift