[JavaScript] ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•˜์—ฌ (with ํ˜ธ์ด์ŠคํŒ…)
ยท
โ—ผ FrontEnd/JavaScript
์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘์›๋ฆฌ์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฐœ๋…์ธ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์ž˜ ์ดํ•ดํ•˜๋ฉด ํ˜ธ์ด์ŠคํŒ…์˜ ๊ฐœ๋…๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋กœ์ €์˜ ๋™์ž‘ ๋ฐฉ์‹๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ๋˜๋Š” ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งํ•˜๋ฉด, ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š”๋ฐ ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ณ  ์ฝ”๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์Šค์ฝ”ํ”„ ๋‚ด์˜ ์‹๋ณ„์ž๋“ค์„ ๋“ฑ๋ก ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ , ์ฝ”๋“œ์˜ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค๋Š” 2๊ฐ€์ง€ ํฐ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ์‹คํ–‰ ์ปจํƒ์ŠคํŠธ์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์—ญํ• ์— ๋Œ€ํ•ด ๋”์šฑ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ํ™˜๊ฒฝ ๋ ˆ์ฝ”๋“œ(Environm..
[JavaScript] ํด๋กœ์ €์— ๋Œ€ํ•˜์—ฌ
ยท
โ—ผ FrontEnd/JavaScript
์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋กœ์ €์— ๋Œ€ํ•ด ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ํด๋กœ์ €๋ฅผ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด, ํ•จ์ˆ˜๊ฐ€ ์ž์‹ ์ด ํƒ„์ƒํ•œ ํ™˜๊ฒฝ(์Šค์ฝ”ํ”„)์„ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ž์‹ ์ด ํƒ„์ƒํ•œ ์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ์Šค์ฝ”ํ”„๊ฐ€ ์ฝœ ์Šคํƒ์—์„œ ์ •๋ฆฌ๋˜์–ด๋„ ๊ทธ ๊ฐ’์„ ๊ธฐ์–ตํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข€ ๋” ๊นŠ์ด ์žˆ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด, ํด๋กœ์ €๋Š” ํŠน์ • ํ•จ์ˆ˜์™€ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ์„ ์–ธ๋  ๋‹น์‹œ์˜ ๋ ‰์‹œ์ปฌ ํ™˜๊ฒฝ์ด ํ•จ๊ป˜ ๊ธฐ์–ต๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •์˜์—๋Š” ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…๋“ค์ด ๋‹ค์ˆ˜ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ž˜์— ์ข€ ๋” ์‰ฝ๊ฒŒ ํ’€์–ด์„œ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์˜ˆ์‹œ ์ฝ”๋“œ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.function outerFunction(outerVariable) { return function innerFunction(innerVariable) { ..
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด์ด๋‹ค
ยท
โ—ผ FrontEnd/JavaScript
MDN Web Docs์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์— ๋Œ€ํ•œ ์†Œ๊ฐœ๋ฅผ ๋ณด๋ฉด ์ฒซ ๋ฌธ์žฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.JavaScript (JS)๋Š” ๊ฐ€๋ฒผ์šด, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ˜น์€ just-in-time ์ปดํŒŒ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.์šฐ์„  ์ธํ„ฐํ”„๋ฆฌํ„ฐ, just-in-time ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ๋‚˜์ค‘์— ์‚ดํŽด๋ณด๊ธฐ๋กœ ํ•˜๊ณ , ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ด '์ผ๊ธ‰ ํ•จ์ˆ˜'๋ผ๋Š” ๊ฐœ๋…์— ์ง‘์ค‘ํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด์ธ๋ฐ, ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ผ๊นŒ? ์ผ๊ธ‰ ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์„ ๋œปํ•˜๋Š” ์šฉ์–ด์ผ๊นŒ? ์ผ๊ธ‰ ํ•จ์ˆ˜๋ž€?๋จผ์ €, MDN Web Docs์—์„œ ์ผ๊ธ‰ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ํ•ด๋‹น ์–ธ์–ด์˜ ํ•จ์ˆ˜๋“ค์ด ๋‹ค๋ฅธ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ๋‹ค๋ฃจ์–ด์งˆ ๋•Œ ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์–ธ์–ด์—์„œ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜๋“ค..
[JavaScript] forEach๋ฌธ์—์„œ return์ด๋‚˜ break๋ฅผ ์“ฐ๋ฉด ์•ˆ๋œ๋‹ค
ยท
โ—ผ FrontEnd/JavaScript
์ค‘๊ฐ„๊ณ ์‚ฌ๊ฐ€ ๋๋‚˜๊ณ  ์—ฌ์œ ๊ฐ€ ์ƒ๊ฒจ ์˜ค๋žœ๋งŒ์— ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต์„ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ '์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ'๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ ๋กœ์ง์ด ํ‹€๋ฆฐ ๊ณณ์ด ์—†์Œ์—๋„ ํŠน์ • ์ผ€์ด์Šค๊ฐ€ ๊ณ„์† ํ†ต๊ณผํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•ด๋ณด๊ณ  ์ฝ”๋“œ๋„ ๋””๋ฒ„๊น…ํ•ด๋ณด๋ฉฐ ์˜ค๋žœ์‹œ๊ฐ„ ์ „์ „๊ธ๊ธํ•˜๋‹ค ๊ฒฐ๊ตญ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์ ์€ ๊ทธ๋™์•ˆ ์ œ๊ฐ€ ์ „ํ˜€ ๋ชฐ๋ž๋˜ ๋‚ด์šฉ์ด์—ˆ๊ธฐ์—, ์ด๋ ‡๊ฒŒ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ฒจ๋‘ก๋‹ˆ๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋Š” forEach๋ฌธ์—์„œ๋Š” return๋ฌธ์ด๋‚˜ break๋ฌธ์„ ์ž‘์„ฑํ•ด๋„ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  forEach๋ฌธ ์•ˆ์—์„œ return๋ฌธ์„ ๋งŒ๋‚˜๋„ forEach๋ฌธ์„ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. fun..
[ReactJS] ์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ & Mock Data + fetch ๋งค์†Œ๋“œ
ยท
โ—ผ FrontEnd/ReactJS
์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ๋ž€? ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ React์—์„œ ๋ฐ์ดํ„ฐ๋Š” UI์ด๋‹ค. ์‹œ๊ฐ„์ด ํ๋ฆ„์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๋ณ€์ˆ˜ ๋ฐ์ดํ„ฐ๋กœ UI๋ฅผ ๋งŒ๋“ค ๋• ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ฉด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ๋กœ UI๋ฅผ ๋งŒ๋“ค ๋• ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ ํ™œ์šฉํ•˜๊ธฐ /* App.js */ import React from "react"; const MENU_LIST = [ { id: 1, menuName: "New Repository" }, { id: 2, menuName: "Import Repository" }, { id: 3, menuName: "New Gist" }, { id: 4, menuName: "New Organization" }, { id: 5, menuName: "New ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜น์•“์ด (1) (๐Ÿ““Lv. 0) (JavaScript)
ยท
โ—ผ PS Note/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
๋ฌธ์ œ ๋ฐ”๋กœ ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด (JavaScript) ์‚ฌ์šฉ ์–ธ์–ด : JavaScript ํ’€์ดํ•œ ๋‚ ์งœ : 2022-12-20 function solution(babbling) { const correctBabbling = ["aya", "ye", "woo", "ma"]; let count = 0; babbling.forEach((item) => { let oneBabble = item; for (let i = 0; i < correctBabbling.length; i++) { if (item.includes(correc..
[๋ฐฑ์ค€] 1652๋ฒˆ : ๋ˆ„์šธ ์ž๋ฆฌ๋ฅผ ์ฐพ์•„๋ผ (๐Ÿฅ‰๋ธŒ๋ก ์ฆˆ 1) (JavaScript)
ยท
โ—ผ PS Note/๋ฐฑ์ค€
๋ฌธ์ œ ๋ฐ”๋กœ ๊ฐ€๊ธฐ 1652๋ฒˆ: ๋ˆ„์šธ ์ž๋ฆฌ๋ฅผ ์ฐพ์•„๋ผ ์ฒซ์งธ ์ค„์— ๋ฐฉ์˜ ํฌ๊ธฐ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1์ด์ƒ 100์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N์ค„์— ๊ฑธ์ณ N๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ๋“ค์–ด์˜ค๋Š”๋ฐ '.'์€ ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ณณ์„ ์˜๋ฏธํ•˜๊ณ , 'X'๋Š” ์ง์ด ์žˆ๋Š” ๊ณณ์„ ์˜๋ฏธํ•œ๋‹ค. www.acmicpc.net ํ’€์ด ์‚ฌ์šฉ ์–ธ์–ด : JavaScript ํ’€์ดํ•œ ๋‚ ์งœ : 2022-12-13 const fs = require("fs"); // const input = fs.readFileSync("./input.txt", "utf8").toString(); const input = fs.readFileSync("/dev/stdin", "utf8").toString(); const inputTestCase = input.split("\n"); const..
[๋ฐฑ์ค€] 25304๋ฒˆ : ์˜์ˆ˜์ฆ (๐Ÿฅ‰๋ธŒ๋ก ์ฆˆ 5) (JavaScript)
ยท
โ—ผ PS Note/๋ฐฑ์ค€
๋ฌธ์ œ ๋ฐ”๋กœ ๊ฐ€๊ธฐ 25304๋ฒˆ: ์˜์ˆ˜์ฆ ์ค€์›์ด๋Š” ์ €๋ฒˆ ์ฃผ์— ์‚ด๋ฉด์„œ ์ฒ˜์Œ์œผ๋กœ ์ฝ”์ŠคํŠธ์ฝ”๋ฅผ ๊ฐ€ ๋ดค๋‹ค. ์ •๋ง ๋ฉ‹์กŒ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋ช‡ ๊ฐœ ๋‹ด์ง€๋„ ์•Š์•˜๋Š”๋ฐ ์ˆ˜์ƒํ•˜๊ฒŒ ๋†’์€ ๊ธˆ์•ก์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๋‹ค! ์ค€์›์ด๋Š” ์˜์ˆ˜์ฆ์„ ๋ณด๋ฉด์„œ ์ •ํ™•ํ•˜๊ฒŒ ๊ณ„์‚ฐ๋œ ๊ฒƒ www.acmicpc.net ํ’€์ด ์‚ฌ์šฉ ์–ธ์–ด : JavaScript ํ’€์ดํ•œ ๋‚ ์งœ : 2022-12-13 const fs = require("fs"); // let input = fs.readFileSync("./input.txt", "utf8").toString().trim(); let input = fs.readFileSync("/dev/stdin", "utf8").toString().trim(); input = input.split("\n"); let inputTestCase = ..
[๋ฐฑ์ค€] 2480๋ฒˆ : ์ฃผ์‚ฌ์œ„ ์„ธ๊ฐœ (๐Ÿฅ‰๋ธŒ๋ก ์ฆˆ 4) (JavaScript)
ยท
โ—ผ PS Note/๋ฐฑ์ค€
๋ฌธ์ œ ๋ฐ”๋กœ ๊ฐ€๊ธฐ 2480๋ฒˆ: ์ฃผ์‚ฌ์œ„ ์„ธ๊ฐœ 1์—์„œ๋ถ€ํ„ฐ 6๊นŒ์ง€์˜ ๋ˆˆ์„ ๊ฐ€์ง„ 3๊ฐœ์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ ธ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ƒ๊ธˆ์„ ๋ฐ›๋Š” ๊ฒŒ์ž„์ด ์žˆ๋‹ค. ๊ฐ™์€ ๋ˆˆ์ด 3๊ฐœ๊ฐ€ ๋‚˜์˜ค๋ฉด 10,000์›+(๊ฐ™์€ ๋ˆˆ)×1,000์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๊ฐ™์€ ๋ˆˆ์ด 2๊ฐœ www.acmicpc.net ํ’€์ด ์‚ฌ์šฉ ์–ธ์–ด : JavaScript ํ’€์ดํ•œ ๋‚ ์งœ : 2022-12-12 const fs = require("fs"); // const input = fs.readFileSync("./input.txt", "utf8"); const input = fs.readFileSync("dev/stdin", "utf8"); let inputTestCase = input.split(" "); inputTestCase = inputTestCas..