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

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/43165 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ๋Œ€ํ‘œ์ ์ธ DFS ๋ฌธ์ œ๋กœ ๋‘๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + ์—ฐ์‚ฐ์„ ํ•ด์ฃผ๊ณ  ๋‹ค์Œ index๋กœ ์ด๋™ - ์—ฐ์‚ฐ์„ ํ•ด์ฃผ๊ณ  ๋‹ค์Œ index๋กœ ์ด๋™ ํ˜„์žฌ ๊ณ„์‚ฐ์ค‘์ธ numbers์˜ index๋ฅผ dfs ํ•จ์ˆ˜์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•ด ๋งŒ์•ฝ ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ์—ฐ์‚ฐ์ด ์™„๋ฃŒ๋˜๋ฉด, ์ฆ‰ index๊ฐ€ numbers.length์™€ ๊ฐ™์•„์ง€๋ฉด dfs ํ•จ์ˆ˜๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ 1๋ฒˆ์˜ ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์—ฐ..

Algorithm/Programmers 2022. 8. 23. 19:06
[JavaScript/node.js] ๋ฐฑ์ค€ 20437๋ฒˆ - ๋ฌธ์ž์—ด ๊ฒŒ์ž„ 2

[๋ฌธ์ œ] https://www.acmicpc.net/problem/20437 20437๋ฒˆ: ๋ฌธ์ž์—ด ๊ฒŒ์ž„ 2 ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์—ด์—์„œ 3๋ฒˆ์—์„œ ๊ตฌํ•œ ๋ฌธ์ž์—ด์€ aqua, 4๋ฒˆ์—์„œ ๊ตฌํ•œ ๋ฌธ์ž์—ด์€ raquator์ด๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž์—ด์—์„œ๋Š” ์–ด๋–ค ๋ฌธ์ž๊ฐ€ 5๊ฐœ ํฌํ•จ๋œ ๋ฌธ์ž์—ด์„ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net [ํ’€์ด] ์–ด๋–ค ๋ฌธ์ž๋ฅผ a๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์ •ํ™•ํžˆ K๊ฐœ๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์ฒซ ๋ฒˆ์งธ์™€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž๊ฐ€ ๋ชจ๋‘ a์ธ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ for๋ฌธ์œผ๋กœ ๋ฌธ์ž์—ดW์„ ์ˆœํšŒํ•˜๋ฉฐ K๊ฐœ ์ด์ƒ ํฌํ•จ๋œ ๋ฌธ์ž๋ฅผ ์ฐพ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. 1. Map์„ ํ™œ์šฉํ•˜์—ฌ key = ๋ฌธ์ž , value = [๋ฌธ์ž์˜ ๊ฐœ์ˆ˜, index1, index2, ... ] ์˜ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. 2. ์™„์„ฑ๋œ Map์„ ์ˆœํšŒํ•˜๋ฉฐ val..

Algorithm/Baekjoon 2022. 8. 23. 15:11
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ฃผ์ฐจ ์š”๊ธˆ ๊ณ„์‚ฐ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/92341 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ์ฃผ์ฐจ์žฅ์˜ ์š”๊ธˆํ‘œ์™€ ์ฐจ๋Ÿ‰์ด ๋“ค์–ด์˜ค๊ณ (์ž…์ฐจ) ๋‚˜๊ฐ„(์ถœ์ฐจ) ๊ธฐ๋ก์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฐจ๋Ÿ‰๋ณ„๋กœ ์ฃผ์ฐจ ์š”๊ธˆ์„ ๊ณ„์‚ฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ํ•˜๋‚˜์˜ ์˜ˆ์‹œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์š”๊ธˆํ‘œ ๊ธฐ๋ณธ ์‹œ๊ฐ„(๋ถ„) ๊ธฐ๋ณธ ์š”๊ธˆ(์›) ๋‹จ์œ„ ์‹œ๊ฐ„(๋ถ„) ๋‹จ์œ„ ์š”๊ธˆ(์›) 180 5000 10 600 ์ž…/์ถœ์ฐจ ๊ธฐ๋ก ์‹œ๊ฐ(์‹œ:๋ถ„) ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ ๋‚ด์—ญ 05:34 5961 ์ž…์ฐจ 06:00 0000 ์ž…์ฐจ 06:34 0000 ์ถœ์ฐจ 07:59..

Algorithm/Programmers 2022. 8. 18. 17:02
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง

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

Algorithm/Programmers 2022. 8. 11. 15:40
[JavaScript] ๋ฐฑ์ค€ 13549๋ฒˆ - ์ˆจ๋ฐ”๊ผญ์งˆ 3

[๋ฌธ์ œ] [ํ’€์ด] ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ์•„์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1์ดˆ ๋™์•ˆ -1 ์นธ or +1 ์นธ ์ด๋™ 0์ดˆ ๋™์•ˆ ์ˆœ๊ฐ„์ด๋™ํ•˜์—ฌ X2์นธ ์ด๋™ ๋”ฐ๋ผ์„œ ๊ทœ์น™์ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  DP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ’€์ดํ•˜์˜€์Šต๋‹ˆ๋‹ค. 1. ์ˆ˜๋นˆ์ด ์œ„์น˜ N๋ณด๋‹ค ์ž‘์€ ์นธ์œผ๋กœ๋Š” ์ˆœ๊ฐ„์ด๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์„œ ํ•ญ์ƒ 1์ดˆ๊ฐ€ ๊ฑธ๋ ค -1์นธ์”ฉ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. N๋ณด๋‹ค ์ž‘์€ ์œ„์น˜๋Š” 0์—์„œ 1์ดˆ์”ฉ ์‹œ๊ฐ„์„ ์ฆ๊ฐ€์‹œ์ผœ ๊ฐ dp ๋ฐฐ์—ด์˜ ์œ„์น˜ ์ธ๋ฑ์Šค์— ์‹œ๊ฐ„์„ ์ €์žฅ 2. ์ˆ˜๋นˆ์ด ์œ„์น˜ N์„ 0์ดˆ๋กœ ์‹œ์ž‘ํ•ด์„œ N๋ณด๋‹ค ํฐ ์นธ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑท๊ธฐ์™€ ์ˆœ๊ฐ„์ด๋™ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ ์œ„์น˜๋ฅผ X๋ผ๊ณ  ํ–ˆ์„๋•Œ, X์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. X-1์—์„œ +1์นธ ๊ฑธ์–ด์˜จ ๊ฒฝ์šฐ : 1์ดˆ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ => dp[X-1] + 1 X/2 ์นธ..

Algorithm/Baekjoon 2022. 8. 5. 00:17
[JavaScript] ๋ฐฑ์ค€ 2457๋ฒˆ - ๊ณต์ฃผ๋‹˜์˜ ์ •์›

[๋ฌธ์ œ] https://www.acmicpc.net/problem/2457 2457๋ฒˆ: ๊ณต์ฃผ๋‹˜์˜ ์ •์› ์ฒซ์งธ ์ค„์—๋Š” ๊ฝƒ๋“ค์˜ ์ด ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฝƒ์ด ํ”ผ๋Š” ๋‚ ์งœ์™€ ์ง€๋Š” ๋‚ ์งœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ๋‚ ์งœ๋Š” ์›”๊ณผ ์ผ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ˆซ์ž๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, www.acmicpc.net [ํ’€์ด] find()๋ฅผ ํ†ตํ•ด ๊ฐ€์žฅ ์ ๊ฒŒ ๊ฝƒ์„ ํ”ผ์šธ ์ˆ˜ ์žˆ๋Š” ์กฐํ•ฉ์„ ๊ตฌํ•ด์ฃผ์—ˆ๋Š”๋ฐ, find()๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€(ํ”ผ์šฐ์ง€ ์•Š์€) ๊ฝƒ ์ค‘์—์„œ ํ˜„์žฌ ์กฐํšŒ์ค‘์ธ ์‹œ์ž‘ ๋‚ ์งœ์™€ ๊ฐ™๊ฑฐ๋‚˜ ์ด์ „์— ํ”ผ์–ด์„œ ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ์ง€๋Š” ๊ฝƒ์„ ์ฐพ์•„์„œ ํ•ด๋‹น ๊ฝƒ์˜ index๋ฅผ ์ €์žฅ ๋งŒ์•ฝ ๊ฝƒ์„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜์—ฌ 0์„ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒ ๋งŒ์•ฝ ์กฐํšŒ๋œ index์˜ ..

Algorithm/Baekjoon 2022. 8. 4. 00:51
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ˜ธํ…” ๋ฐฉ ๋ฐฐ์ •

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/64063 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜๋ฉฐ, ํ•ด๋‹น ๋ฐฉ ๋‹ค์Œ์œผ๋กœ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋นˆ๋ฐฉ์„ ์—ฐ๊ฒฐํ•ด ๊ณ„์† ๊ฐฑ์‹ ํ•ด์ฃผ๋ฉฐ ํ’€์ดํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Map์„ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ, ํ•ด๋‹น Map์€ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ํ’€์ด ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. room_number : [1,3,4,1,3,1] room_number๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋ฐฉ์„ ๋ฐฐ์ •ํ•ด answer[]์„ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ํ•ด๋‹น ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ํ‚ค๋กœํ•˜๋Š” ..

Algorithm/Programmers 2022. 7. 22. 17:30