๋ฐ˜์‘ํ˜•

๐Ÿ‘’ ๋ญ? JS๋กœ PS๋ฅผ ํ•œ๋‹ค๊ณ ? 44

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ๋•…๋”ฐ๋จน๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12913 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฐฑ์ค€ 9465๋ฒˆ ์Šคํ‹ฐ์ปค ๋ฌธ์ œ์™€ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•˜๋‹ค ๋‘ ์ค„ ์งœ๋ฆฌ ์Šคํ‹ฐ์ปค๊ฐ€ ๋„ค ์ค„ ์งœ๋ฆฌ ๋•…์œผ๋กœ ๋ฐ”๋€Œ์—ˆ์„ ๋ฟ.. [๐Ÿ’  Class๋ฅผ ๋ฐ€์–ด๋ณด์ž/Class 4] - [BOJ][C++] ๋ฐฑ์ค€ 9465๋ฒˆ: ์Šคํ‹ฐ์ปค ๋™์ ๊ณ„ํš๋ฒ•(Dynamic Programming, DP)๋ฅผ ์ด์šฉํ•œ๋‹ค. dp[i][j] ๋Š” iํ–‰ j์—ด๊นŒ์ง€ ๋›ฐ์—ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค ๋ฐ”๋กœ ์ง์ „ ์ค„์—์„œ ์ž์‹ ๊ณผ ๊ฐ™์€ ์—ด์„ ์ œ์™ธํ•œ ๋ชจ๋“ (3๊ฐœ) ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์†Œ์ˆ˜ ์ฐพ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/42839 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ•œ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ ํžŒ ์ข…์ด ์กฐ๊ฐ์ด ํฉ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ํฉ์–ด์ง„ ์ข…์ด ์กฐ๊ฐ์„ ๋ถ™์—ฌ ์†Œ์ˆ˜๋ฅผ ๋ช‡ ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ข…์ด ์กฐ๊ฐ์— ์ ํžŒ ์ˆซ์ž๊ฐ€ ์ ํžŒ ๋ฌธ์ž์—ด numbers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ข…์ด ์กฐ๊ฐ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. function solution(numbers) { const INF = 10000000; // ์ž…๋ ฅ๊ฐ’..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ

https://school.programmers.co.kr/learn/courses/30/lessons/12949 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(arr1, arr2) { let row = arr1.length; let col = arr2[0].length; let com = arr1[0].length; // ๋‹ต๋ฐฐ์—ด ์ดˆ๊ธฐํ™” let ans = []; for(let i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ํƒ๋ฐฐ ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/150369 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ ‘๊ทผ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์™•๋ณต์ด๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์ง€์ ๊นŒ์ง€ ๊ฐ€๋ฉด ๊ทธ๋งŒํผ์„ ๋Œ์•„์™€์•ผํ•œ๋‹ค -> ์™•๋ณตํ•  ํŠน์ • ์ง€์ ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€์•ผํ•จ -> ๋งจ ๋ ์ง‘ ๋ถ€ํ„ฐ ํ•ด๊ฒฐํ•ด๋ฒ„๋ฆฌ์ž. -> ๋์—์„œ๋ถ€ํ„ฐ ํ•ด๊ฒฐ...? Stack์„ ์‚ฌ์šฉํ•˜์ž! ์˜ˆ์ œํ’€์ด ๋ณธ ํ’€์ด๋ฅผ ์˜ˆ์ œ์— ์ ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. #์˜ˆ์ œ1 [1 0 3 1 2] [0 3 0 4 0] 5๋ฒˆ์ง‘๊นŒ์ง€ ๋‹ค๋…€์˜จ๋‹ค (ans+=5) [1 0 2] [0 3] 3๋ฒˆ์ง‘๊นŒ์ง€ ๋‹ค..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์ฃผ์ฐจ ์š”๊ธˆ ๊ณ„์‚ฐ

https://school.programmers.co.kr/learn/courses/30/lessons/92341 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 0. getTime ํ•จ์ˆ˜ ๋ฌธ์ž์—ด ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ž‘์—…์„ ์ •์˜ํ–ˆ๋‹ค. 1. ๋ˆ„์  ์ฃผ์ฐจ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ records ๊ธฐ๋ก์„ ๋Œ๋ฉฐ ๊ฐ ์ฐจ๋Ÿ‰์˜ ๋ˆ„์  ์ฃผ์ฐจ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค. ์ž…์ฐจ -> ์ž…์ฐจ์‹œ๊ฐ„ ๊ธฐ๋ก (lastIn) ์ถœ์ฐจ -> ์ถœ์ฐจ์‹œ๊ฐ„ - ์ž…์ฐจ์‹œ๊ฐ„ ๋”ํ•ด์ฃผ๊ธฐ (totalTime) ์ด๋•Œ, ์ž…์ฐจ๋งŒ ๋˜๊ณ  ์ถœ์ฐจ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ์ถœ์ฐจ๋ฅผ ์‹œ์ผฐ๋‹ค๋ฉด ์ž…์ฐจ๊ธฐ๋ก์€ deleteํ•ด์ค€๋‹ค! 2. ์ถœ์ฐจ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] [3์ฐจ] n์ง„์ˆ˜ ๊ฒŒ์ž„

https://school.programmers.co.kr/learn/courses/30/lessons/17687 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr const inf = 100001; function solution(n, t, m, p) { let arr = ""; for(let i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

https://school.programmers.co.kr/learn/courses/30/lessons/12953 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด lcg() : a์™€ b์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค (์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ์ด์šฉ) lcm() : a์™€ b์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค (a*b/์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ = ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ์ด์šฉ) arr ๋ฐฐ์—ด์„ ๋Œ๋ฉด์„œ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ณ„์† ๊ตฌํ•˜๋ฉฐ ์—…๋ฐ์ดํŠธํ•ด๋‚˜๊ฐ€๋ฉด ๋! function lcg(a, b) { if(b===0) { return a; } return lcg(b, a%b); } function lcm(a, b) { let tmp..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] [3์ฐจ] ์••์ถ•

http://school.programmers.co.kr/learn/courses/30/lessons/17684/solution_groups?language=javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด ์ž๋ฃŒ๊ตฌ์กฐ map์„ ์ด์šฉํ•˜์˜€๋‹ค. C++์ฒ˜๋Ÿผ 'A'+1 ์ด๋Ÿฐ char ์—ฐ์‚ฐ์ด ์•ˆ๋˜์–ด์„œ ๋‹นํ™ฉํ–ˆ๋Š”๋ฐ ์ž ์‹œ A~Z๊นŒ์ง€ ๋…ธ๊ฐ€๋‹ค๋กœ ๋„ฃ์„๊นŒ ํ•˜๋‹ค๊ฐ€ ์˜ค๋ฐ”์ธ๊ฒƒ ๊ฐ™์•„์„œ ์„œ์น˜ํ–ˆ๋‹ค JS์—๋Š” String.fromCharCode()๋ผ๋˜๊ฐ€ charCodeAt() ๊ฐ™์€๊ฒŒ ์žˆ๋”๋ผ. ์•„๋ฌดํŠผ ๊ทธ๋ฆฌํ•˜์—ฌ ์‚ฌ์ „์— ํ•ด๋‹นํ•˜๋Š” dict ๋งต์„ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค ์ดํ›„ ๋ฌธ์ œ์— ๋‚˜..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/92335# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด function solution(n, k) { function isPrime(num) { if(num === 1) return false; for(let i=2; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ํƒ€๊ฒŸ ๋„˜๋ฒ„

https://school.programmers.co.kr/learn/courses/30/lessons/43165 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ dfs๋กœ ํ’€์ดํ•˜์˜€๋‹ค. let answer = 0; function dfs(sum, level, numbers, target) { if(level === numbers.length) { if(sum === target) { answer++; } return; } dfs(sum+numbers[level], level+1, numbers, target); dfs(sum-num..

๋ฐ˜์‘ํ˜•