๋ชฉ๋กJavaScript (140)
๐ค ์์งlog ๐ค
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ๋ฐฐ์ด ์๋ฅด๊ธฐ ๐ ๋ฌธ์ ์ค๋ช ์ ์ ๋ฐฐ์ด numbers์ ์ ์ num1, num2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, numbers์ num1๋ฒ ์งธ ์ธ๋ฑ์ค๋ถํฐ num2๋ฒ์งธ ์ธ๋ฑ์ค๊น์ง ์๋ฅธ ์ ์ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ ์ ํ์กฐ๊ฑด 2 ≤ numbers์ ๊ธธ์ด ≤ 30 0 ≤ numbers์ ์์ ≤ 1,000 0 ≤num1
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ํน์ ๋ฌธ์ ์ ๊ฑฐํ๊ธฐ ๐ ๋ฌธ์ ์ค๋ช ๋ฌธ์์ด my_string๊ณผ ๋ฌธ์ letter์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. my_string์์ letter๋ฅผ ์ ๊ฑฐํ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๐ ์ ํ์กฐ๊ฑด 1 ≤ my_string์ ๊ธธ์ด ≤ 100 letter์ ๊ธธ์ด๊ฐ 1์ธ ์๋ฌธ์์ ๋๋ค. my_string๊ณผ letter์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ๐ ํ์ด function solution(my_string, letter) { const answer = my_string.replaceAll(letter,"") return answer; } โ ๋ฌธ์์ด์์ ํน์ ๊ธ์๋ฅผ ์ ๊ฑฐํ๊ณ ๋๋จธ์ง๋ฅผ ๋ฐํํ๊ธฐ replace() ๋ก ์ ์ฉํด๋ณด์๋๋ฐ..
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ์ง์ ํ์ ๊ฐ์ ๐ ๋ฌธ์ ์ค๋ช ์ ์๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ num_list๊ฐ ์ฃผ์ด์ง ๋, num_list์ ์์ ์ค ์ง์์ ํ์์ ๊ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ ์ ํ์กฐ๊ฑด 1 ≤ num_list์ ๊ธธ์ด ≤ 100 0 ≤ num_list์ ์์ ≤ 1,000 ๐ ํ์ด function solution(num_list) { let odd = 0; let even = 0; for (let i = 0; i < num_list.length; i++){ if(num_list[i] % 2 === 0){ even++ } else { odd++ } } return [even,odd]; } โ ๋ฐฐ์ด์์ ์ง์, ํ์ ๊ฐ์ ๊ตฌ๋ถํ์ฌ ๋ฐฐ์ด๋ก ์ถ๋ ฅํ๊ธฐ ํ์๋ odd, ..
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ์ท๊ฐ๊ฒ ํ ์ธ ๋ฐ๊ธฐ ๐ ๋ฌธ์ ์ค๋ช ๋จธ์ฑ์ด๋ค ์ท๊ฐ๊ฒ๋ 10๋ง ์ ์ด์ ์ฌ๋ฉด 5%, 30๋ง ์ ์ด์ ์ฌ๋ฉด 10%, 50๋ง ์ ์ด์ ์ฌ๋ฉด 20%๋ฅผ ํ ์ธํด์ค๋๋ค. ๊ตฌ๋งคํ ์ท์ ๊ฐ๊ฒฉ price๊ฐ ์ฃผ์ด์ง ๋, ์ง๋ถํด์ผ ํ ๊ธ์ก์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ ์ ํ์กฐ๊ฑด 10 ≤ price ≤ 1,000,000 price๋ 10์ ๋จ์๋ก(1์ ์๋ฆฌ๊ฐ 0) ์ฃผ์ด์ง๋๋ค. ์์์ ์ดํ๋ฅผ ๋ฒ๋ฆฐ ์ ์๋ฅผ returnํฉ๋๋ค. ๐ ํ์ด function solution(price) { if (price >= 500000) { return Math.floor(price * 0.8); } else if (price >= 300000) { return Math.floor(price * 0..
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ๋จธ์ฑ์ด๋ณด๋ค ํค ํฐ ์ฌ๋ ๐ ๋ฌธ์ ์ค๋ช ๋จธ์ฑ์ด๋ ํ๊ต์์ ํค ์์ผ๋ก ์ค์ ์ค ๋ ๋ช ๋ฒ์งธ๋ก ์์ผ ํ๋์ง ๊ถ๊ธํด์ก์ต๋๋ค. ๋จธ์ฑ์ด๋ค ๋ฐ ์น๊ตฌ๋ค์ ํค๊ฐ ๋ด๊ธด ์ ์ ๋ฐฐ์ด array์ ๋จธ์ฑ์ด์ ํค height๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด๋ณด๋ค ํค ํฐ ์ฌ๋ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ ์ ํ์กฐ๊ฑด 1 ≤ array์ ๊ธธ์ด ≤ 100 1 ≤ height ≤ 200 1 ≤ array์ ์์ ≤ 200 ๐ ํ์ด function solution(array, height) { const answer = array.filter(i => i > height).length return answer; } โ ๋ฐฐ์ด์์ ๋ณ์๋ณด๋ค ํฐ ์ซ์์ ๊ฐ์ ์ฐพ๊ธฐ array.filter() ..
ํ๋ก๊ทธ๋๋จธ์ค Lv.0 - ์ ์ ์์น ๊ตฌํ๊ธฐ ๐ ๋ฌธ์ ์ค๋ช ์ฌ๋ถ๋ฉด์ ํ ํ๋ฉด์ x์ถ๊ณผ y์ถ์ ๊ธฐ์ค์ผ๋ก ๋๋ ๋ค ๋ถ๋ถ์ ๋๋ค. ์ฌ๋ถ๋ฉด์ ์๋์ ๊ฐ์ด 1๋ถํฐ 4๊น์ง ๋ฒํธ๋ฅผ๋งค๊น๋๋ค. x ์ขํ์ y ์ขํ๊ฐ ๋ชจ๋ ์์์ด๋ฉด ์ 1์ฌ๋ถ๋ฉด์ ์ํฉ๋๋ค. x ์ขํ๊ฐ ์์, y ์ขํ๊ฐ ์์์ด๋ฉด ์ 2์ฌ๋ถ๋ฉด์ ์ํฉ๋๋ค. x ์ขํ์ y ์ขํ๊ฐ ๋ชจ๋ ์์์ด๋ฉด ์ 3์ฌ๋ถ๋ฉด์ ์ํฉ๋๋ค. x ์ขํ๊ฐ ์์, y ์ขํ๊ฐ ์์์ด๋ฉด ์ 4์ฌ๋ถ๋ฉด์ ์ํฉ๋๋ค. x ์ขํ (x,y)๋ฅผ ์ฐจ๋ก๋๋ก ๋ด์ ์ ์ ๋ฐฐ์ด dot์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ขํ dot์ด ์ฌ๋ถ๋ฉด ์ค ์ด๋์ ์ํ๋์ง 1, 2, 3, 4 ์ค ํ๋๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๐ ์ ํ์กฐ๊ฑด dot์ ๊ธธ์ด = 2 dot[0]์ x์ขํ๋ฅผ, dot[1]์ y์ขํ๋ฅผ ๋ํ๋ ๋๋ค ..
๐ฃ REST API : ํ๋ก ํธ์๋ ์น์์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ (๋ฐฐ๋ฌ์ฑ์์ ์๋ฒ์ ์ฃผ๋ฌธ์ ๋ฃ๊ฑฐ๋ ๋ฑ) ์ด๋ฐ ์๋น์ค๋ค์์ ์ฌ์ฉ๋๋ ๊ฒ์ด REST ๋ ํ์์ API ์ด๋ค. ๊ฐ ์์ฒญ์ด ์ด๋ค ๋์์ด๋ ์ ๋ณด๋ฅผ ์ํ๊ฒ์ธ์ง๋ฅผ ๊ทธ ์์ฒญ์ ๋ชจ์ต ์์ฒด๋ก ์ถ๋ก ์ด ๊ฐ๋ฅํ๋ค. - ๋ ์คํธํํ๊ฒ ๋ง๋ API๋ ์์ฒญ์ ๋ณด๋ด๋ ์ฃผ์๋ง์ผ๋ก๋ ๋๋ต ์ด๊ฒ ๋ญ ํ๋ ์์ฒญ์ธ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ค. ์๋ฒ์ REST API๋ก ์์ฒญ์ ๋ณด๋ผ๋๋ HTTP๋ผ๋ ๊ท์ฝ์ ๋ฐ๋ผ ์ ํธ๋ฅผ ์ ์กํ๋ค. ๐ฃ REST API ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฉ์๋ : GET : ๋ฐ์ดํฐ๋ฅผ Read, ์กฐํ POST : Create, ์๋ก์ด ์ ๋ณด ์ถ๊ฐ DELETE : Delete, ์ ๋ณด ์ญ์ PUT : Update, ์ ๋ณด๋ฅผ ํต์งธ๋ก ๋ณ๊ฒฝํ ๋ PATCH : Update, ์ ๋ณด๋ฅผ ์ผ๋ถ๋ง ๋ณ..
jQuery : ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๋ ์ฌ์ฉํ๊ธฐ ์ฌ์ด API๋ฅผ ์ฌ์ฉํ์ฌ HTML ๋ฌธ์ ํ์ ๋ฐ ์กฐ์, ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋๋ฉ์ด์ ๋ฐ Ajax์ ๊ฐ์ ์์ ์ ํจ์ฌ ๋ ๊ฐ๋จํ๊ฒ ๋ง๋๋ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ Using jQuery with a CDN : AJAX ( Asynchronous JavaScript and XML ) : ์๋ฒ์ ํต์ ํ๊ธฐ ์ํด XML Http Request ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ค. JSON XML HTML ์ผ๋ฐ ํ ์คํธ ํ์ ๋ฑ์ ํฌํจํ ๋ค์ํ ํฌ๋งท์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. AJAX๋ ๋น ๋ฅด๊ฒ ๋์ํ๋ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ฐ ๊ธฐ๋ฒ์ ํ๋์ด๋ฉฐ, AJAX์ ๊ฐ๋ ฅํ ํน์ง์ ์น ํ์ด์ง ์ ์ฒด๋ฅผ ๋ฆฌํ๋ ์ฌ ํ์ง ์๊ณ ๋ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง์ ๊ฐฑ์ ํ ์ ์๋ค. ์ฆ Ajax๋ฅผ ..
let ๊ณผ const (var ์ฌ์ฉ์ํจโ) : ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ var์ ์ค์ฝํ ์ธ์์๋ ์คํ ํธ์ด์คํ (hoisting: ์ด๋์ ์ ์ธํ๋ ์๊ด์์ด ํญ์ ์ ์ผ์๋ก ์ ์ธ์ ๋์ด์ฌ๋ ค์ฃผ๋๊ฒ) let, const๋ ์ค์ฝํ ๋ด์์๋ง ์คํ console.log(i); // (์๋ฌ๊ฐ ์๋๊ณ ) undefined var i = 0; console.log(i); // 0 // ํด์ ๊ฒฐ๊ณผ var i; consoloe.log(i); i =0 ; console.log(i); console.log(i); let i = 0; console.log(i); // Uncaught SyntaxError: Identifier 'i' has already been declared (i๊ฐ ์ ์๋์ง ์์๋ค.) let ๊ณผ const๋ ๋ธ๋ก ์ค์ฝ..
โ ๋ฐฐ์ด ์ถ๊ฐ : Array.push() Array.unshift() Array.splice() let arr = [ 'a', 'b', 'c']; arr.push('d'); // arr = ['a', 'b', 'c', 'd'] ๋ฐฐ์ด์ ๋์ ์์ ์ถ๊ฐ let arr = [ 'a', 'b', 'c']; arr.unshift('d'); // arr = ['d', 'a', 'b', 'c'] ๋ฐฐ์ด์ ์์ ์์ ์ถ๊ฐ let arr = [ 'a', 'b', 'c']; arr.splice(2,0,'d'); // arr = ['a', 'b', 'd', 'c'] index 2์ ์์ ์ถ๊ฐ let arr = [ 'a', 'b', 'c']; arr.splice(4,0,'e','f'); // arr = ['a', 'b', '..