๋ฐ˜์‘ํ˜•

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™

https://school.programmers.co.kr/learn/courses/30/lessons/12980 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ฒ˜์Œ์—๋Š” DP๋กœ ์ ‘๊ทผํ–ˆ์œผ๋‚˜ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์ž๊พธ ์‹œ๊ฐ„์ดˆ๊ณผ + ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋– ์„œ ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค function solution(n) { let ans = 0; while(n>0) { if(n%2 == 0) n /= 2; else { n = Math.floor(n/2); ans++; } } return ans; }

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ๊ตฌ๋ช…๋ณดํŠธ

https://school.programmers.co.kr/learn/courses/30/lessons/42885 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์œ ํ˜•์€ ๊ทธ๋ฆฌ๋””๋กœ ๋˜์–ด์žˆ์ง€๋งŒ, ์†๋„๊ฐ€ ๋Š๋ฆฐํŽธ์ธ JS ํŠน์„ฑ์ƒ ํˆฌํฌ์ธํ„ฐ๋ฅผ ๋ฉ”์ธ์œผ๋กœ ์ด์šฉํ–ˆ๋‹ค. start์™€ end๋Š” ๊ฐ๊ฐ ํ˜„์žฌ ๋‚จ์•„์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ค‘ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ๊ณผ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ค€ ๋‹ค์Œ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋ถ€ํ„ฐ ๋ณดํŠธ๋ฅผ ํƒœ์šฐ๋Š”๋ฐ, ์ด๋•Œ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ์„ ๊ฐ™์ด ํƒœ์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ํƒœ์šฐ๊ณ  (๊ฐ€๋ฒผ์šด์‚ฌ๋žŒ ๋ฌด๊ฑฐ์šด์‚ฌ๋žŒ ํ•œ๋ช…์”ฉ ์‚ฌ๋ผ์ง, start++; end--;) ์•ˆ๋˜๋ฉด ๊ทธ๋ƒฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋งŒ ํ•œ๋ช… ๋ณด..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์นดํŽซ

https://school.programmers.co.kr/learn/courses/30/lessons/42842 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(brown, yellow) { for(let i=1; i b-a); } } }

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์˜์–ด ๋๋ง์ž‡๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12981 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์•ž์— ์ค‘๋ณต๋œ ๋‹จ์–ด๊ฐ€ ๋‚˜์™”๋Š”์ง€๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๊ณผ์ •์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋น„๊ต์  ๋ณต์žกํ–ˆ๋Š”๋ฐ, slice๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ˜„์žฌ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋ฐฐ์—ด์„ ์ž˜๋ผ๋‚ด๊ณ , find๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฐฐ์—ด๋‚ด์— ํ˜„์žฌ ๋‹จ์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์—ˆ๋‹ค. ์ „ ๋‹จ์–ด ๋๊ธ€์ž์™€ ํ˜„ ๋‹จ์–ด ์ฒซ๊ธ€์ž ๋น„๊ต๋Š” ๋ฌธ์ž์—ด์—์„œ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋œ๋‹ค. function solution(n, words) { for(let i=1; i word === cur) !..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12973 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(s) { let stack = []; s.split("").forEach(v => { if(stack[stack.length-1] === v) { stack.pop(); } else { stack.push(v); } }); if(stack.length === 0) return 1; return 0; }

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

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ๋‹ค์Œ ํฐ ์ˆซ์ž

https://school.programmers.co.kr/learn/courses/30/lessons/12911 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(n) { let bin = n.toString(2).replaceAll("0", "").length; while(n++) { if(n.toString(2).replaceAll("0", "").length === bin) { return n; } } }

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/70129 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(s) { let cnt = 0, zero = 0; while(s !== "1") { cnt++; let zeroRemovedLength = s.replaceAll("0", "").length; zero += s.length - zeroRemovedLength; s = zeroRemovedLength.toString(2); } return [cnt,zero]; }

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ

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

๋ฐ˜์‘ํ˜•