๐ ๋ฌธ์ - ๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๊ณ , my_string์์ ์ค๋ณต๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ ํ ํ๋์ ๋ฌธ์๋ง ๋จ๊ธด ๋ฌธ์์ด์ return โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - ๋๋์ด ๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ Deep dive ์ฑ
์์ ๋ดค๋ Set์ ์ฌ์ฉํด๋ณด์๋ค!! - my_string ๊ฐ์ ๋ฐฐ์ด๋ก ๋ฐ์ ๊ฐ ์์์ ์ค๋ณต์ ์ ๊ฑฐ ํด์ค ํ - join('') ๋ฉ์๋๋ก ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ฐ๊ฒฐํด ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ค์ด์ฃผ์ด ๋ฐํํ๋ค. function solution(my_string) { var answer = new Set([...my_string]); let answer_arr = [...answer].join(""); return answer_arr; } ์ฐธ๊ณ ์๋ฃ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ
์คํธ https:..
๐ ๋ฌธ์ - ๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, my_string ์์ ์๋ ์ซ์๋ง ๊ณจ๋ผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๋ฆฌ์คํธ๋ฅผ returnํ๊ธฐ โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - ์ซ์๋ง ์ถ๋ ฅ์ ์ด๋ป๊ฒ ํ ์ง ๊ฒ์ํด๋ณด๋ค๊ฐ ๋ง๋ ์ ๊ท์ - ์ซ์๋ง ์ถ์ถํด์ฃผ๋ ์ ๊ท์์ผ๋ก ์ ๋ฆฌํ str ๋ณ์์ ๋ฃ์ด์คฌ๋ค. function solution(my_string) { var answer = []; let regex = /[^0-9]/g; let str = my_string.replace(regex, ""); console.log(str);// 12392 return answer; } solution("hi12392"); - ์
์ถ๋ ฅ ์์์์๋ ๋ฐฐ์ด ๊ฐ์ด๊ธฐ ๋๋ฌธ์ .split() ๋ฉ์๋๋ก ๋ฐฐ์ด ์์ ๋ฃ์ด์ค ๋ค์ .s..
1. ์ฐ๋ฆฌ ํ์ ์ ์ฅ์ ๊ฐ์ ธ์ค๊ธฐ - ์ฐ๋ฆฌ ํ์์ ์ฐ๊ธฐ๋ก ํ github ์ ์ฅ์๋ฅผ clone ํด์จ๋ค. # ์ํ๋ ๋ฃจํธ์์ git clone ํ ์ ์ฅ์ ํด๋ก ์ฃผ์ 2. ํ ์ ์ฅ์ ์ฐ๊ฒฐํ๊ธฐ - git ์ด๊ธฐํ ํด์ฃผ๊ธฐ git init git remote add origin ํ ์ ์ฅ์ ์ฃผ์ ๋๋ ํ ๋ด master ๋ธ๋์น ์ด๋ฆ git remote add origin main # ๋๋ git remote add origin https://github.com/choisooyoung-dev/git-test.git # ์ ๋๋์ง ํ์ธํ๊ธฐ git remote -v 3. ๋ด ๋ธ๋์น ์์ฑํ๊ธฐ - checkout์ผ๋ก ๋ธ๋์น๋ฅผ ์์ฑํ๊ธฐ - ๋ด ๋ธ๋์น์์ ์ฝ๋๋ฅผ ์ง๊ณ ํธ์งํด์ผ main ๋ธ๋์น์ ์ํฅ์ ์ฃผ์ง ์๊ณ , ๊ฐ ํ์๋ค๊ณผ ์ถฉ๋ํ..
๐ ๋ฌธ์ - ๊ฐ์๋ 2 ๋ฐ์๋ 0 ๋ณด๋ 5๋ก ํํ - ๊ฐ์ ๋ฐ์ ๋ณด๋ฅผ ๋ด๋ ์์๋๋ก ๋ํ๋ธ ๋ฌธ์์ด rsp๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, rsp์ ์ ์ฅ๋ ๊ฐ์ ๋ฐ์ ๋ณด๋ฅผ ๋ชจ๋ ์ด๊ธฐ๋ ๊ฒฝ์ฐ๋ฅผ ์์๋๋ก ๋ํ๋ธ ๋ฌธ์์ด์ return โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - if ๋ฌธ์ผ๋ก ํ๋ ํ๋ ํด๊ฒฐํ๋ ค๋ค๊ฐ reverse ์ฒ๋ผ ๋ฉ์๋ ํ์ฉ์ ๋ง์ด ํด์ผ๊ฒ ๋ค ์ถ์ด ๊ฒ์ํด๋ดค๋ค. - ๊ฐ๊ฐ์ ๊ฐ์, ๋ฐ์, ๋ณด๊ฐ ์ด๊ธฐ๋ ์ซ์๋ ์ ํด์ ธ์๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ด์ฉํด๋ณด๋ฉด ์ด๋จ๊น ์ถ์ด ์ด๊ฒ ์ ๊ฒ ํด๋ณด๋ค ์คํจ.. - forEach์ map ์ฐจ์ด๋ฅผ ๋ชจ๋ฅด๊ณ ์์๋๊ฒ ์ค์์ ์ด์ -> ๊ณต๋ถํ์.. function solution(rsp) { const rspWin = { 2 : 0, 0 : 5, 5 : 2 }; return [...rsp]...
๐๋ฌธ์ - ๋ฌธ์์ด์ ๋ค์ง์ด์ ๋ฐํํ๊ธฐ โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - ๋ฐฐ์ด ๋ค์ง๊ธฐ ๋ฌธ์ ํ๊ณ ๋์ ๋ฐ๋ก ํผ๊ฑฐ๋ผ reverse ๋ฉ์๋ ๋ฐ๋ก ์ผ๋๋ฐ ๋ฌธ์์ด์ ๋ฐฐ์ด์ด ์๋!! - ๋ฐฐ์ด ์์ ๊ธ์ ํ๋ ํ๋๋ฅผ ์์๋ก ๋ฃ๊ณ reverse ๋ฉ์๋์ ๋ฃ๊ณ ๋ฐํํด์ผ๊ฒ ๋ค ์๊ฐํจ. - ๋ฐํํ ๋ ๋ฐฐ์ด๋ก ๋ฐํ์ด ์๋ ๋ค์งํ ๋ฌธ์์ด๋ก ๋ฐํํด์ผํด์ ๊ฒ์ํด๋ดค๋๋ join() ์ด๋ผ๋ ๋ฉ์๋ ๋ฐ๊ฒฌ!! function solution(my_string) { var answer = ""; let splitStr = my_string.split(""); let strArr = splitStr.reverse(); answer = strArr.join(""); return answer; } ์ฐธ๊ณ ์๋ฃ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ
์คํธ ์ฐ์ต ..
๐ ๋ฌธ์ - ๋ฐฐ์ด ๊ฐ ์์๋ค์ ์์๋ฅผ ๊ฑฐ๊พธ๋ก ๋ค์ง์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑ โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - for๋ฌธ์ ์ฆ๊ฐ ๋ฐฉ์์ด ์๋ ๊ฐ์๋ฐฉ์์ผ๋ก ํ๋ค๊ฐ ๊ฒ์ํด์ ์๊ฒ๋ reverse ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. - ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์๋ผ push ๋ก answer ๋ฐฐ์ด์ ๋ฃ์์๋๋ฐ [ [5], [3], ... , [1] ] ์ด๋ฐ์์ผ๋ก ๋ค์ด๊ฐ์ ๋นํฉํ๋ค.. function solution(num_list) { var answer = []; answer = num_list.reverse(); return answer; } ์ฐธ๊ณ ์๋ฃ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ
์คํธ ์ฐ์ต https://school.programmers.co.kr/learn/courses/30/lessons/120..
๐ ๋ฌธ์ - ์
๋ ฅํ ๋ฐฐ์ด์ ์์๋ค์ ๋ ๋ฐฐํ ๋ฐฐ์ด ์ถ๋ ฅํ๊ธฐ โจ๏ธ ์
์ถ๋ ฅ ์์ ๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์ - ๋ฐฐ์ด์ ๊ฐ ์์๋ค์ 2๋ฐฐํ๋ค. -> number[i] * 2, for๋ฌธ - answer์ด๋ผ๋ ๋ฐฐ์ด์ 2๋ฐฐํ ์์๋ค์ ๋ฃ์ด์ค๋ค. -> answer.push(number[i] * 2) function solution(numbers) { var answer = []; for (let i = 0; i < numbers.length; i++) { answer.push(numbers[i] * 2); } return answer; } ์ฐธ๊ณ ์๋ฃ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ
์คํธ ์ฐ์ต ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/120809
๐ Map - ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด์ด๋ค. ๊ตฌ๋ถ ๊ฐ์ฒด Map ๊ฐ์ฒด ํค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ ๋ฌธ์์ด ๋๋ ์ฌ๋ฒ ๊ฐ ๊ฐ์ฒด ํฌํจํ ๋ชจ๋ ๊ฐ ์ดํฐ๋ฌ๋ธ X O ์์ ๊ฐ์ ํ์ธ Object.keys(obj).length map.size 1. Map ๊ฐ์ฒด ์์ฑ - Map ์์ฑ์ ํจ์๋ก ์์ฑํ๋ค. const map = new Map(); console.log(map); - ์ดํฐ๋ฌ๋ธ์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ Map ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. - ์ด ๋ ์ธ์๋ก ์ ๋ฌ๋๋ ์ดํฐ๋ฌ๋ธ์ ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์์๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ค. const map1 = new Map([ ['key1', 'value1'], ['key2', 'value2'] ]); console.log(map1);// Map(2) ... const map2 = n..
โจ Set - set ๊ฐ์ฒด๋ ์ค๋ณต๋์ง ์๋ ์ ์ผํ ๊ฐ๋ค์ ์งํฉ - ๋ฐฐ์ด๊ณผ ์ ์ฌํ์ง๋ง 1) ๋์ผํ ๊ฐ ์ค๋ณต X 2) ์์ ์์์ ์๋ฏธ ์์. 3) ์ธ๋ฑ์ค ์ ๊ทผ ๋ถ๊ฐ - ์ํ์ ์งํฉ์ ๊ตฌํํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ - ๊ต์งํฉ, ์ฐจ์งํฉ, ์ฌ์งํฉ, ๋ฑ์ ๊ตฌํํ ์ ์๋ค. 1. Set ์์ฑ - Set ์์ฑ์ ํจ์๋ก ์์ฑํ๋ค. const set = new Set(); - Set ์์ฑ์ ํจ์๋ ์ดํฐ๋ฌ๋ธ์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ Set ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. - ์ค๋ณต๋ ๊ฐ์ ์์๋ก ์ ์ฅ๋์ง ์๋๋ค. - ๋ฐฐ์ด์์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํ ์ ์๋ค. const newArr = arr => [new Set(arr)]; console.log(newArr([2, 1, 2, 3, 4, 3, 4]));// [2, 1, 3, 4] 2. ์์ ๊ฐ์ ํ์ธ -..
๋ฌธ์ ์ค๋ช
- ์ ์ num1, num2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, num1์ num2๋ก ๋๋ ๋ชซ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์
์ถ๋ ฅ ์์ - num1 -> 10, num2 -> 5, return ๊ฐ -> 2 ๐โ๏ธ ๋ด๊ฐ ํผ ํ์ด function solution(num1, num2) { let answer = 0; answer = Math.floor(num1 / num2); return answer; } โ๏ธ ๋ฐฐ์ด ๊ฒ Math.floor() - ๋ด๋ฆผ ๋ฉ์๋ Math.ceil() - ์ฌ๋ฆผ ๋ฉ์๋ Math.round() - ๋ฐ์ฌ๋ฆผ ๋ฉ์๋ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ์ถ์ฒ[ํ๋ก๊ทธ๋๋จธ์ค]: https://school.programmers.co.kr/learn/courses/30/lessons/1..