๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿง  ์•Œ๊ณ ๋ฆฌ์ฆ˜31

[๋ฐฑ์ค€] ๋„๋กœ์˜ ๊ฐœ์ˆ˜ 1577 JS ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ์‹ ์šฐ์„  N,M์˜ ๋ฒ”์œ„๊ฐ€ 100์ดํ•˜์—ฌ์„œ n^2์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. DP๋ฌธ์ œ๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ํ…Œ์ด๋ธ”๋กœ ๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋ฉด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค (0,0)์—์„œ ์‹œ์ž‘ํ•ด์„œ (N,M)๊นŒ์ง€ ๊ฐ€๋Š” ์ตœ๋‹จ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์ƒ๋‹จ์„ ํ–ฅํ•ด ๊ฐ€๋Š” ๊ฐ’๋“ค๋งŒ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. DP[i][j] = DP[i][j-1] + DP[i-1][j]; ๊ทธ์ค‘์—์„œ ๊ณต์‚ฌ ์ค‘์ธ ๊ธธ์€ ์ œ์™ธํ•˜๊ณ  ๊ฐ’์„ ๋”ํ•ด๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค. ๋กœ์ง ์ƒ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ์ œ์ถœ์„ ํ•˜์ž๋งˆ์ž ๋‹ค ํ‹€๋ฆฌ๋”๋ผ๊ตฌ์š” ์•Œ๊ณ ๋ณด๋‹ˆ ๊ฒฝ๋กœ๋ฅผ set์— ์ €์žฅํ•  ๋•Œ ํ‚ค๊ฐ’์˜ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค ์ฒ˜์Œ์—๋Š” ${a}${b}${c}${d} ์ด๋Ÿฐ ์‹์œผ๋กœ ํ‚ค๊ฐ’์„ ์คฌ์—ˆ๋Š”๋ฐ ๊ตฌ๋ถ„์ž ์—†์ด ํ‚ค๊ฐ’์„ ์ฃผ๋‹ˆ a,b,c,d๊ฐ’์ด ๋‹ค๋ฆ„์—๋„ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ธ์‹๋˜์–ด์„œ ํ‹€๋ฆฐ ๊ฒƒ ๊ฐ™์•„์š” const filePath = process.platform === 'l.. 2024. 1. 29.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋งˆ๋ฒ•์˜ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ JS ๋ฌธ์ œ๋งํฌ ํ’€์ด ๋ฐฉ๋ฒ• ์ฒ˜์Œ์—๋Š” ํ•œ ๋ฒˆ bfs๋กœ ํ•ด๋ดค๋Š”๋ฐ ์ˆ˜๊ฐ€ ์ปค์„œ ๊ทธ๋Ÿฐ์ง€ 2๊ฐœ ๋นผ๊ณ  ๋‹ค ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๊ฑธ๋ฆฌ๋”๋ผ๊ตฌ์š” ๊ทธ๋ƒฅ ๊ทœ์น™์„ ์ฐพ์•„์„œ ์นด์šดํŠธ ํ•ด์คฌ์Šต๋‹ˆ๋‹ค ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์ ์€ ์ˆ˜๊ฐ€ 5์ผ ๋•Œ์˜€์Šต๋‹ˆ๋‹ค. ์ˆ˜๊ฐ€ 5์ผ ๋•Œ ๋‹ค์Œ ์ž๋ฆฌ์ˆ˜๊ฐ€ 5 ์ด์ƒ์ด๋ฉด +5๋ฅผ ๋”ํ•ด์„œ ๋‹ค์Œ ์ž๋ฆฌ์ˆ˜๋ฅผ +1 ํ•ด์ฃผ๊ณ  ๋‹ค์Œ ์ž๋ฆฌ์ˆ˜๊ฐ€ 5 ๋ฏธ๋งŒ์ด๋ฉด -5 ํ•ด์คฌ์Šต๋‹ˆ๋‹ค 5๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด ๋‹ค์Œ ์ž๋ฆฌ ๊ฐ’์„ ์˜ฌ๋ ค์คฌ์Šต๋‹ˆ๋‹ค ๋งŒ์•ฝ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” 1์„ ํ‘ธ์‰ฌํ•ด์„œ ์ž๋ฆฌ์ˆ˜๋ฅผ ์˜ฌ๋ ค์คฌ์Šต๋‹ˆ๋‹ค function solution(storey) { let cnt=0; const storey_arr = String(storey).split('').map(Number).reverse(); for(let i=0;i 2024. 1. 12.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๋ณ€ํ™˜ํ•˜๊ธฐ JS ํ’€์ด๋ฐฉ๋ฒ•! bfs๋กœ ๋ฐฐ์—ด๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋ฉด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค x์—์„œ๋ถ€ํ„ฐ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์„ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ ํšŸ์ˆ˜๊ฐ€ ์ ์œผ๋ฉด table์„ ๊ฐฑ์‹ ํ•˜๊ณ  ํ์— ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋ฐฐ์—ด๊ฐ’์„ ์ตœ์†Œ๊ฐ’์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ true,false๋กœ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋งŒ ๊ฐฑ์‹ ํ•ด๋„ ์ƒ๊ด€์—†๋Š” ์ „ํ˜•์ ์ธ bfs ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๋ฐฐ์—ด์˜ shift๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์ง์ ‘ ํ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค ์˜ˆ์ „์— ๋ฐฑ์ค€์—์„œ https://www.acmicpc.net/problem/13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3 ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ๋Š” ์ด๋™ํ•  ๋•Œ 0์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์„œ ์ตœ์†Œ๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋ฉด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ์ž˜ ์ƒ๊ฐํ•˜๋ฉด์„œ ํ’€์–ด์•ผ๊ฒ ๋„ค์š” ์ตœ์†Œ๊ฐ’ ๊ฐฑ์‹  function solution(x, y, n) { //bfs.. 2024. 1. 11.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ๋ฐฐ ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐํ•˜๊ธฐ JS ๋ฌธ์ œ ๋งํฌ ๊ฐ„๋‹จํ•ด ๋ณด์ด๋Š”๋ฐ ์—„์ฒญ ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค..!! ์šฐ์„  ์ตœ์†Œ๋กœ ์›€์ง์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ๋Œ€ํ•œ ๋จผ ๊ณณ๋ถ€ํ„ฐ ๋งŽ์ด ๋ฐฐ๋‹ฌํ•˜๊ณ , ๋จผ ๊ณณ๋ถ€ํ„ฐ ๋งŽ์ด ์ˆ˜๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ๊ฐ€์žฅ ๋ฉ€๋ฆฌ์— ์žˆ๋Š” ๋ฐฐ๋‹ฌ,์ˆ˜๊ฑฐ ์žฅ์†Œ์—์„œ๋ถ€ํ„ฐ ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐ๋ฅผ cap๋งŒํผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐ๋ฅผ ๋ชจ๋‘ cap๋งŒํผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๊ฐˆ ๋•Œ cap๋งŒํผ ๋ฐฐ๋‹ฌํ•˜๊ณ , ์˜ฌ ๋•Œ cap๋งŒํผ ์ˆ˜๊ฑฐํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค deliveries ๋ฐฐ์—ด๊ณผ pickups ๋ฐฐ์—ด์ด ์กด์žฌํ•˜๋Š” ๋™์•ˆ ๋ฐฐ๋‹ฌ, ์ˆ˜๊ฑฐ 2๊ฐœ์˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋จผ ๊ณณ๋ถ€ํ„ฐ ๋ฐฐ๋‹ฌ๊ณผ ์ˆ˜๊ฑฐ๋ฅผ ๋ฐ˜๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค ๋‘˜ ์ค‘ ์‹œ์ž‘์ ์ด ๋” ๋จผ ๊ณณ์˜ ์™•๋ณต ๊ฑฐ๋ฆฌ๋ฅผ result์— ์ถ”๊ฐ€ํ•ด์คฌ์Šต๋‹ˆ๋‹ค function solution(cap, n, deliveries, pickups) { // ๊ฐ€์žฅ ๋จผ ๊ฑฐ๋ฆฌ๋ฅผ ์ตœ์†Œ๋กœ ์™”๋‹ค๊ฐ”๋‹ค ํ•ด์•ผ ํ•จ // ์ตœ๋Œ€ํ•œ ๋จผ ๊ณณ๋ถ€ํ„ฐ ๋งŽ์ด.. 2024. 1. 10.
[๋‹ค์ต์ŠคํŠธ๋ผ][๋ฐฑ์ค€] 117799 ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ2 JS ๋ฌธ์ œ๋งํฌ ํ•œ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ๊นŒ์ง€์˜ ์ตœ์†Œ ๋น„์šฉ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ต์ŠคํŠธ๋ผ! ๋‹ค์ต์ŠคํŠธ๋ผ : ํ•œ ์ •์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์ ๊นŒ์ง€์˜ ์ตœ์†Œ ๋น„์šฉ์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค์ต์ŠคํŠธ๋ผ๋Š” ์šฐ์„ ์ˆœ์œ„ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ JS์—๋Š” ์šฐ์„ ์ˆœ์œ„ํ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ๊ตฌํ˜„ ์ ‘๊ทผ ๋ฐฉ๋ฒ• 1. ๋ฒ„์Šค ์ •๋ณด ์ธ์ ‘๋ฆฌ์ŠคํŠธ, ๊ฐ ๋…ธ๋“œ๊นŒ์ง€์˜ ์ตœ์†Œ ๋น„์šฉ์„ ์ €์žฅํ•  ๋ฐฐ์—ด(minArr), ์ด์ „์— ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ์ €์žฅํ•  ๋ฐฐ์—ด(pre)์„ ๋งŒ๋“ ๋‹ค. 2. ์šฐ์„ ์ˆœ์œ„ ํ์— ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค 3. ํ๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ด์„œ minArr์™€ pre๋ฐฐ์—ด์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค 3๋ฒˆ์—์„œ ๋ฐฐ์—ด๋“ค์„ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ 1. minArr์— ์žˆ๋Š” ๊ฐ’์ด ์šฐ์„ ์ˆœ์œ„ ํ์—์„œ ๊บผ๋‚ธ ๊ฐ’๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ, ๊บผ๋‚ธ ๊ฐ’์€ ์ตœ์†Œ ๋น„์šฉ์ด ์•„๋‹˜์œผ๋กœ continue; 2. minArr์— ์žˆ๋Š” ๊ฐ’๋ณด๋‹ค ์šฐ์„ ์ˆœ.. 2024. 1. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹œ์†Œ ์ง๊ฟ JS ๋ฌธ์ œ๋งํฌ ํ’€์ด ๋ฐฉ๋ฒ• ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ๊ธฐ์— ์กฐํ•ฉ์„ ๋– ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค ๋‘ ์ˆ˜์˜ 2,3,4๋ฐฐ์ˆ˜ ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฐ™์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋น„์œจ์€ 2:3, 2:4, 3:2, 3:4, 4:2, 4:3 ์Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋น„์œจ์— ๋Œ€ํ•œ ์ˆ˜๋ฅผ ์ฐพ์ง€ ์•Š๊ณ  ํŠน์ •์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฐ ์ˆ˜๋งŒ ๊ตฌํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค function solution(weights) { //์Œ์„ ๊ตฌํ•˜๋ผ = ์กฐํ•ฉ //๋‘ ์ˆ˜์˜ 2,3,4๋ฐฐ์ˆ˜ ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ ๊ฐ™์œผ๋ฉด ๋จ //๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋น„์œจ์€ 2:3, 2:4, 3:2, 3:4, 4:2, 4:3์ด์ง€๋งŒ //์Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฐ ์ˆ˜๋งŒ ๊ตฌํ•˜๊ธฐ let cnt=0; const table = {}; weights.forEach(w=>{ table[w]=(table[w]||0)+1; }); for(let.. 2024. 1. 9.