[JavaScript/node.js] ๋ฐฑ์ค€ 3980๋ฒˆ - ์„ ๋ฐœ ๋ช…๋‹จ

[๋ฌธ์ œ] https://www.acmicpc.net/problem/3980 3980๋ฒˆ: ์„ ๋ฐœ ๋ช…๋‹จ ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, ๋ชจ๋“  ํฌ์ง€์…˜์˜ ์„ ์ˆ˜๋ฅผ ์ฑ„์› ์„ ๋•Œ, ๋Šฅ๋ ฅ์น˜์˜ ํ•ฉ์˜ ์ตœ๋Œ“๊ฐ’์„ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ํ•ญ์ƒ ํ•˜๋‚˜ ์ด์ƒ์˜ ์˜ฌ๋ฐ”๋ฅธ ๋ผ์ธ์—…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net [ํ’€์ด] ๋‹จ์ˆœํžˆ DFS๋ฅผ ํ†ตํ•ด ์„ ์ˆ˜ ๋ฐฐ์น˜๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์™„์ „ ํƒ์ƒ‰ํ•˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. 1. position ๋ฐฐ์—ด์— ๊ฐ ์„ ์ˆ˜๋“ค์˜ ๊ฐ€๋Šฅํ•œ ํฌ์ง€์…˜๊ณผ ๋Šฅ๋ ฅ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. position์˜ i๋ฒˆ์งธ ๋ฐฐ์—ด์— [๊ฐ€๋Šฅํ•œ ํฌ์ง€์…˜, ๋Šฅ๋ ฅ] ํ˜•ํƒœ๋กœ pushํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜ˆ์ œ์˜ position ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ €์žฅํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. [ [ [ 0, 100 ] ], [ [ 1, 80 ], [ 2, 70 ], [ 3, 70 ], [ 4..

Algorithm/Baekjoon 2022. 9. 3. 16:24
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/118666 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์ดˆ๊ธฐ ์„ธํŒ… type ๋ฐฐ์—ด์„ ์„ ์–ธํ•ด, ๊ฐ๊ฐ์˜ ์„ฑ๊ฒฉ ์œ ํ˜•์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ž„ survey๊ฐ€ RT ํ˜•์‹์œผ๋กœ ๋“ค์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๊ฒฉ ์œ ํ˜• ๋ฌธ์ž๋ฅผ ํ†ตํ•ด index๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ map์„ ๋งŒ๋“ฆ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•  scroe๋ฐฐ์—ด์„ ์„ ์–ธ ํ’€์ด ๊ณผ์ • 1. survey๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ˆœํšŒํ•˜๋ฉฐ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ™•์ธ์ค‘์ธ ์„ค๋ฌธ์ด AN ์ด๋ผ๋ฉด A์™€ N์„ split ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ฝ‘์•„๋ƒ„ ๋งŒ์•ฝ ํ˜„์žฌ ํ™•์ธ ์ค‘์ธ i..

Algorithm/Programmers 2022. 9. 1. 00:18
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์นด๋“œ ์ง ๋งž์ถ”๊ธฐ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/72415 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž์ธ ๋ฒ ๋กœ๋‹ˆ๋Š” ๊ฐœ๋ฐœ ์—ฐ์Šต์„ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์นด๋“œ ์ง๋งž์ถ”๊ธฐ ๋ณด๋“œ ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ํ™”๋ฉด์—๋Š” ์นด๋“œ 16์žฅ์ด ๋’ท๋ฉด์„ ์œ„๋กœํ•˜์—ฌ 4 x 4 ํฌ๊ธฐ์˜ ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์นด๋“œ์˜ ์•ž๋ฉด์—๋Š” ์นด์นด์˜คํ”„๋ Œ์ฆˆ ์บ๋ฆญํ„ฐ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์žˆ์œผ๋ฉฐ, 8๊ฐ€์ง€์˜ ์บ๋ฆญํ„ฐ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง„ ์นด๋“œ๊ฐ€ ๊ฐ๊ธฐ 2์žฅ์”ฉ ํ™”๋ฉด์— ๋ฌด์ž‘์œ„๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์ €๊ฐ€ ์นด๋“œ๋ฅผ ..

Algorithm/Programmers 2022. 8. 31. 00:40
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/72413 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… [๋ณธ ๋ฌธ์ œ๋Š” ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ ๊ฐ๊ฐ ์ ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.] ๋ฐค๋Šฆ๊ฒŒ ๊ท€๊ฐ€ํ•  ๋•Œ ์•ˆ์ „์„ ์œ„ํ•ด ํ•ญ์ƒ ํƒ์‹œ๋ฅผ ์ด์šฉํ•˜๋˜ ๋ฌด์ง€๋Š” ์ตœ๊ทผ ์•ผ๊ทผ์ด ์žฆ์•„์ ธ ํƒ์‹œ๋ฅผ ๋” ๋งŽ์ด ์ด์šฉํ•˜๊ฒŒ ๋˜์–ด ํƒ์‹œ๋น„๋ฅผ ์•„๋‚„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "๋ฌด์ง€"๋Š” ์ž์‹ ์ด ํƒ์‹œ๋ฅผ ์ด์šฉํ•  ๋•Œ ๋™๋ฃŒ์ธ ์–ดํ”ผ์น˜ ์—ญ์‹œ ์ž์‹ ๊ณผ ๋น„์Šทํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Š” ํƒ์‹œ๋ฅผ ์ข…์ข… ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "๋ฌด์ง€"๋Š” "์–ดํ”ผ์น˜"์™€ ..

Algorithm/Programmers 2022. 8. 27. 21:00
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ž…๊ตญ์‹ฌ์‚ฌ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/43238 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์ด๋ถ„ํƒ์ƒ‰์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ์ฒ˜๋Ÿผ n์ด 6์ด๊ณ , time๊ฐ€ [7, 10] ์ด๋ผ๋ฉด, ์ตœ๋Œ€ ์‹ฌ์‚ฌ ์‹œ๊ฐ„์€ 10*6 = 60๋ถ„์ด๋ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ ์‹ฌ์‚ฌ ์‹œ๊ฐ„ 60์„ ๊ธฐ์ค€์œผ๋กœ ์Šน๊ฐ์„ ์‹ฌ์‚ฌํ•œ๋‹ค๋ฉด ์‹ฌ์‚ฌ ๊ฐ€๋Šฅ ์Šน๊ฐ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 60 / 7 = 8๋ช… + 60 / 10 = 10๋ช… = 18๋ช… ํ•˜์ง€๋งŒ, ์ตœ์†Œ ์‹œ๊ฐ„์œผ๋กœ 6๋ช…์˜ ์Šน๊ฐ์„ ๋ชจ๋‘ ์‹ฌ์‚ฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ, left = 1, righ..

Algorithm/Programmers 2022. 8. 27. 17:52
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์œ„์žฅ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42578 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์ŠคํŒŒ์ด๋“ค์ด ์˜ท์„ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์–ผ๊ตด์ด a,b 2๊ฐœ, ์ƒ์˜ c 1๊ฐœ๊ฐ€ ์žˆ๋‹ค๋ฉด, a, b, ab, c, ac, bc 5๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์˜ท ์ข…๋ฅ˜๋ณ„๋กœ 1๊ฐœ ์ด์ƒ ์ฐฉ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์•„์˜ˆ ์ฐฉ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•˜๋ฉด ์–ผ๊ตด 3๊ฐœ, ์ƒ์˜ 2๊ฐœ ์ด๊ณ , ์•„๋ฌด๊ฒƒ๋„ ์ฐฉ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” 1๊ฐœ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ตœ์†Œ 1๊ฐœ์˜ ์˜ท์„ ์ฐฉ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” (..

Algorithm/Programmers 2022. 8. 26. 19:09
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/49189 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ๋…ธ๋“œ 1๋ถ€ํ„ฐ์˜ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ๋ชจ๋‘ ๊ตฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— BFS๋ฅผ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์„ธํŒ… ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด์ฐจ์› ๋ฐฐ์—ด graph์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฌธํ•œ ์ •์ ์„ ์ €์žฅํ•˜๋Š” visit๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  false๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ 1๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•˜๋Š” dist ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉฐ ์ตœ๋Œ€ ๊ฑฐ๋ฆฌ max๋ฅผ ์ €์žฅํ•˜๊ธฐ..

Algorithm/Programmers 2022. 8. 26. 19:01
[JavaScript/node.js] ๋ฐฑ์ค€ 1522๋ฒˆ - ๋ฌธ์ž์—ด ๊ตํ™˜

[๋ฌธ์ œ] https://www.acmicpc.net/problem/1522 1522๋ฒˆ: ๋ฌธ์ž์—ด ๊ตํ™˜ a์™€ b๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, a๋ฅผ ๋ชจ๋‘ ์—ฐ์†์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๊ตํ™˜์˜ ํšŒ์ˆ˜๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ด ๋ฌธ์ž์—ด์€ ์›ํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ฒ˜์Œ๊ณผ ๋์€ ์„œ๋กœ ์ธ์ ‘ํ•ด www.acmicpc.net [ํ’€์ด] a๋ฅผ ๋ชจ๋‘ ์—ฐ์†์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„  ์šฐ์„  ๋ฌธ์ž์—ด์˜ ์ด a ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. a์˜ ์ด ๋ฌธ์ž ๊ฐœ์ˆ˜(len)์˜ ๊ตฌ๊ฐ„์œผ๋กœ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ํ†ตํ•ด ๊ตฌ๊ฐ„์— ํฌํ•จ๋œ a์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. (์ด a์˜ ๊ฐœ์ˆ˜(len)) - (๊ฐ€์žฅ ๋งŽ์€ ๊ฐœ์ˆ˜๋ฅผ ํฌํ•จํ•œ ๊ตฌ๊ฐ„์˜ a๊ฐœ ์ˆ˜)๋ฅผ ํ†ตํ•ด ์ตœ์†Œ ์ด๋™ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฌธ์ž์—ด์ด "ababa"๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ํ’€์ด ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. len = 3 ์ด๋ฏ€..

Algorithm/Baekjoon 2022. 8. 24. 17:45