๐Ÿง TIL

๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด 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..
sooyoung.c.dev
'๐Ÿง TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)