๐Ÿ’ป์šฉ๋‡ฝ ๊ฐœ๋ฐœ ๋…ธํŠธ๐Ÿ’ป
article thumbnail
[React] ์„ฑ๋Šฅ ์ตœ์ ํ™” React.memo์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ React์—์„œ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” React.memo์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ , ๊ธฐ๋Šฅ์„ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์™œ ์‚ฌ์šฉํ•˜๊ณ  ๋™์ž‘์›๋ฆฌ์™€ ์‚ฌ์šฉ ์˜ˆ์‹œ ์ฝ”๋“œ๋„ ํ•จ๊ป˜ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. React.memo๋ž€ โ“ memo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์˜ props๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฆฌ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ฉ”๋ชจํ™”๋œ ๋ฒ„์ „์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์˜ props๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งŒ ๋ฆฌ๋ Œ๋”๋ง์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋‹ค๋ž€ ํ๋ชจ์˜ ์ปดํฌ๋„ŒํŠธ๋‚˜ ๋ณต์žกํ•œ ์ƒํ™ฉ์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ง‰์•„ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ž‘ ์›๋ฆฌ ๐Ÿ’ก React.memo๋Š” ์ธ์ž๋กœ ๋“ค์–ด๊ฐ„ ์ปดํฌ๋„ŒํŠธ์— ์–ด๋–ค props๊ฐ€ ์ž…๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ž…๋ ฅ๋˜๋Š” ๋ชจ๋“  props์˜ ์‹ ๊ทœ ๊ฐ’์„ ํ™•์ธํ•œ ๋’ค ์ด๋ฅผ ๊ธฐ์กด์˜ props์˜ ๊ฐ’๊ณผ ๋น„๊ตํ•˜๋„๋ก ๋ฆฌ์•กํŠธ์—๊ฒŒ ์ „..

article thumbnail
[๋ฐฑ์ค€]2468๋ฒˆ '์•ˆ์ „ ์˜์—ญ' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ ๐Ÿ“– https://www.acmicpc.net/problem/2468 2468๋ฒˆ: ์•ˆ์ „ ์˜์—ญ ์žฌ๋‚œ๋ฐฉ์žฌ์ฒญ์—์„œ๋Š” ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ฆฌ๋Š” ์žฅ๋งˆ์ฒ ์— ๋Œ€๋น„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์„ ๊ณ„ํšํ•˜๊ณ  ์žˆ๋‹ค. ๋จผ์ € ์–ด๋–ค ์ง€์—ญ์˜ ๋†’์ด ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ์— ๊ทธ ์ง€์—ญ์— ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ ธ์„ ๋•Œ ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š๋Š” www.acmicpc.net ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜: DFS ๋‚œ์ด๋„: ์‹ค๋ฒ„ 1 ์ ‘๊ทผ ๋ฐฉ๋ฒ• โ“ ๋‚˜๋Š” DFS๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ–ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์กฐ๊ฑด์— ๋งž๋Š” ์—ฐ๊ฒฐ ์š”์†Œ๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ๋น—๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š๋Š” ๋†’์ด์˜ ์—ฐ๊ฒฐ์š”์†Œ๋ฅผ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ฐ€ ๋‚ด๋ ธ์„ ๋•Œ ์Œ“์ด๋Š” ๋†’์ด๋ณด๋‹ค ๋†’์€ ์š”์†Œ๋“ค์„ ์ฐพ์•„์ฃผ๋ฉด ๋œ๋‹ค. ์ฃผ์˜ ์‚ฌํ•ญ์œผ๋กœ "์•„๋ฌด ์ง€์—ญ๋„ ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค."๋ผ๋Š” ๋ง์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ฐ€ ์•ˆ ๋‚ด๋ ค์„œ ๋ชจ๋‘ ์•ˆ ์ž ๊ธฐ๋Š” ์ƒํ™ฉ๋„ ์žˆ์„..

article thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '์ฒด์œก๋ณต' ๋ฌธ์ œํ’€์ด (LV.1)

๋ฌธ์ œ ๋ฌธ์ œ ์ถœ์ฒ˜ : https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๊ทธ๋ฆฌ๋”” ๋‚œ์ด๋„: LV.1 ํ’€์ด ์ฝ”๋“œ ๐Ÿ’ก function solution(n, lost, reserve) { let answer = n - lost.length; const realLost = lost.sort((a,b) => a - b).filter(item => !reserve.includes(item)); answer +=..

article thumbnail
[๋ฐฑ์ค€]1012๋ฒˆ '์œ ๊ธฐ๋† ๋ฐฐ์ถ”' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ ์ฐจ์„ธ๋Œ€ ์˜๋†์ธ ํ•œ๋‚˜๋Š” ๊ฐ•์›๋„ ๊ณ ๋žญ์ง€์—์„œ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋†์•ฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋ ค๋ฉด ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋‚˜๋Š” ํ•ด์ถฉ ๋ฐฉ์ง€์— ํšจ๊ณผ์ ์ธ ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๋ฅผ ๊ตฌ์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ•œ๋‹ค. ์ด ์ง€๋ ์ด๋Š” ๋ฐฐ์ถ”๊ทผ์ฒ˜์— ์„œ์‹ํ•˜๋ฉฐ ํ•ด์ถฉ์„ ์žก์•„ ๋จน์Œ์œผ๋กœ์จ ๋ฐฐ์ถ”๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. ํŠนํžˆ, ์–ด๋–ค ๋ฐฐ์ถ”์— ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๊ฐ€ ํ•œ ๋งˆ๋ฆฌ๋ผ๋„ ์‚ด๊ณ  ์žˆ์œผ๋ฉด ์ด ์ง€๋ ์ด๋Š” ์ธ์ ‘ํ•œ ๋‹ค๋ฅธ ๋ฐฐ์ถ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์–ด, ๊ทธ ๋ฐฐ์ถ”๋“ค ์—ญ์‹œ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ํ•œ ๋ฐฐ์ถ”์˜ ์ƒํ•˜์ขŒ์šฐ ๋„ค ๋ฐฉํ–ฅ์— ๋‹ค๋ฅธ ๋ฐฐ์ถ”๊ฐ€ ์œ„์น˜ํ•œ ๊ฒฝ์šฐ์— ์„œ๋กœ ์ธ์ ‘ํ•ด์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ํ•œ๋‚˜๊ฐ€ ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋Š” ๋•…์€ ๊ณ ๋ฅด์ง€ ๋ชปํ•ด์„œ ๋ฐฐ์ถ”๋ฅผ ๊ตฐ๋ฐ๊ตฐ๋ฐ ์‹ฌ์–ด ๋†“์•˜๋‹ค. ๋ฐฐ์ถ”๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ๊ณณ์—๋Š” ๋ฐฐ์ถ”ํฐ์ง€๋ ์ด๊ฐ€ ํ•œ ๋งˆ๋ฆฌ๋งŒ ์žˆ์œผ๋ฉด ๋˜๋ฏ€๋กœ ์„œ๋กœ ์ธ์ ‘ํ•ด์žˆ๋Š” ๋ฐฐ์ถ”๋“ค์ด ๋ช‡ ๊ตฐ..

article thumbnail
[๋ฐฑ์ค€]1987๋ฒˆ '์•ŒํŒŒ๋ฒณ' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ ์„ธ๋กœ R์นธ, ๊ฐ€๋กœ C์นธ์œผ๋กœ ๋œ ํ‘œ ๋ฌ˜์–‘์˜ ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ๊ฐ ์นธ์—๋Š” ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ ์ ํ˜€ ์žˆ๊ณ , ์ขŒ์ธก ์ƒ๋‹จ ์นธ (1ํ–‰ 1์—ด) ์—๋Š” ๋ง์ด ๋†“์—ฌ์žˆ๋‹ค. ๋ง์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘์˜ ํ•œ ์นธ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ƒˆ๋กœ ์ด๋™ํ•œ ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์€ ์ง€๊ธˆ๊นŒ์ง€ ์ง€๋‚˜์˜จ ๋ชจ๋“  ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ๋Š” ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด ์ ํžŒ ์นธ์„ ๋‘ ๋ฒˆ ์ง€๋‚  ์ˆ˜ ์—†๋‹ค. ์ขŒ์ธก ์ƒ๋‹จ์—์„œ ์‹œ์ž‘ํ•ด์„œ, ๋ง์ด ์ตœ๋Œ€ํ•œ ๋ช‡ ์นธ์„ ์ง€๋‚  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ง์ด ์ง€๋‚˜๋Š” ์นธ์€ ์ขŒ์ธก ์ƒ๋‹จ์˜ ์นธ๋„ ํฌํ•จ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— R๊ณผ C๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1 ≤ R,C ≤ 20) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๋ง์ด ์ง€๋‚  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์˜ ์นธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 3 6 HFDFFB AJH..

article thumbnail
[๋ฐฑ์ค€]6603๋ฒˆ '๋กœ๋˜' ๋ฌธ์ œํ’€์ด - JavaScript

๋ฌธ์ œ ๋…์ผ ๋กœ๋˜๋Š” {1, 2, ..., 49}์—์„œ ์ˆ˜ 6๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค. ๋กœ๋˜ ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์ „๋žต์€ 49๊ฐ€์ง€ ์ˆ˜ ์ค‘ k(k>6)๊ฐœ์˜ ์ˆ˜๋ฅผ ๊ณจ๋ผ ์ง‘ํ•ฉ S๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๊ทธ ์ˆ˜๋งŒ ๊ฐ€์ง€๊ณ  ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, k=8, S={1,2,3,5,8,13,21,34}์ธ ๊ฒฝ์šฐ ์ด ์ง‘ํ•ฉ S์—์„œ ์ˆ˜๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ด 28๊ฐ€์ง€์ด๋‹ค. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) ์ง‘ํ•ฉ S์™€ k๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ฒซ ..

article thumbnail
[๋ฐฑ์ค€]2916๋ฒˆ '๋„์˜์ด๊ฐ€ ๋งŒ๋“  ๋ง›์žˆ๋Š” ์Œ์‹' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ ๋„์˜์ด๋Š” ์งœํŒŒ๊ตฌ๋ฆฌ ์š”๋ฆฌ์‚ฌ๋กœ ๋ช…์„ฑ์„ ๋‚ ๋ ธ์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ด์ „์— ์—†์—ˆ๋˜ ์ƒˆ๋กœ์šด ์š”๋ฆฌ์— ๋„์ „์„ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ง€๊ธˆ ๋„์˜์ด์˜ ์•ž์—๋Š” ์žฌ๋ฃŒ๊ฐ€ N๊ฐœ ์žˆ๋‹ค. ๋„์˜์ด๋Š” ๊ฐ ์žฌ๋ฃŒ์˜ ์‹ ๋ง› S์™€ ์“ด๋ง› B๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ์žฌ๋ฃŒ๋ฅผ ์ด์šฉํ•ด์„œ ์š”๋ฆฌํ•  ๋•Œ, ๊ทธ ์Œ์‹์˜ ์‹ ๋ง›์€ ์‚ฌ์šฉํ•œ ์žฌ๋ฃŒ์˜ ์‹ ๋ง›์˜ ๊ณฑ์ด๊ณ , ์“ด๋ง›์€ ํ•ฉ์ด๋‹ค. ์‹œ๊ฑฐ๋‚˜ ์“ด ์Œ์‹์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋งŽ์ง€ ์•Š๋‹ค. ๋„์˜์ด๋Š” ์žฌ๋ฃŒ๋ฅผ ์ ์ ˆํžˆ ์„ž์–ด์„œ ์š”๋ฆฌ์˜ ์‹ ๋ง›๊ณผ ์“ด๋ง›์˜ ์ฐจ์ด๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋˜, ๋ฌผ์„ ์š”๋ฆฌ๋ผ๊ณ  ํ•  ์ˆ˜๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์žฌ๋ฃŒ๋Š” ์ ์–ด๋„ ํ•˜๋‚˜ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์žฌ๋ฃŒ์˜ ์‹ ๋ง›๊ณผ ์“ด๋ง›์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์‹ ๋ง›๊ณผ ์“ด๋ง›์˜ ์ฐจ์ด๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์š”๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์žฌ๋ฃŒ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ๊ทธ ์žฌ๋ฃŒ์˜ ์‹ ..

article thumbnail
[๋ฐฑ์ค€]9663๋ฒˆ 'N-Queen' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ N-Queen ๋ฌธ์ œ๋Š” ํฌ๊ธฐ๊ฐ€ N x N์ธ ์ฒด์ŠคํŒ ์œ„์— ํ€ธ N๊ฐœ๋ฅผ ์„œ๋กœ ๊ณต๊ฒฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋†“๋Š” ๋ฌธ์ œ์ด๋‹ค. N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ€ธ์„ ๋†“๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N < 15) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ํ€ธ N๊ฐœ๋ฅผ ์„œ๋กœ ๊ณต๊ฒฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋†“๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 8 ์˜ˆ์ œ ์ถœ๋ ฅ 1 92 ๐Ÿ‘‰ ํ’€์ด ์ฝ”๋“œ const fs = require('fs'); const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; const input = fs.readFileSync(file).toString().trim(); const n = Number(input); const queens =..

article thumbnail
[๋ฐฑ์ค€]10971๋ฒˆ '์™ธํŒ์› ์ˆœํšŒ2' ๋ฌธ์ œ ํ’€์ด - JavaScript

๋ฌธ์ œ ์™ธํŒ์› ์ˆœํšŒ ๋ฌธ์ œ๋Š” ์˜์–ด๋กœ Traveling Salesman problem (TSP) ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฌธ์ œ๋กœ computer science ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ทจ๊ธ‰๋˜๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณ€์ข… ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋‚˜, ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ์˜ ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž. 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š” ๋„์‹œ๋“ค์ด ์žˆ๊ณ , ๋„์‹œ๋“ค ์‚ฌ์ด์—๋Š” ๊ธธ์ด ์žˆ๋‹ค. (๊ธธ์ด ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค) ์ด์ œ ํ•œ ์™ธํŒ์›์ด ์–ด๋Š ํ•œ ๋„์‹œ์—์„œ ์ถœ๋ฐœํ•ด N๊ฐœ์˜ ๋„์‹œ๋ฅผ ๋ชจ๋‘ ๊ฑฐ์ณ ๋‹ค์‹œ ์›๋ž˜์˜ ๋„์‹œ๋กœ ๋Œ์•„์˜ค๋Š” ์ˆœํšŒ ์—ฌํ–‰ ๊ฒฝ๋กœ๋ฅผ ๊ณ„ํšํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋‹จ, ํ•œ ๋ฒˆ ๊ฐ”๋˜ ๋„์‹œ๋กœ๋Š” ๋‹ค์‹œ ๊ฐˆ ์ˆ˜ ์—†๋‹ค. (๋งจ ๋งˆ์ง€๋ง‰์— ์—ฌํ–‰์„ ์ถœ๋ฐœํ–ˆ๋˜ ๋„์‹œ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์€ ์˜ˆ์™ธ) ์ด๋Ÿฐ ์—ฌํ–‰ ๊ฒฝ๋กœ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ์„ ๋“ค์ด๋Š” ์—ฌํ–‰ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ ์ž..