[JavaScript/node.js] ๋ฐฑ์ค€ 14943๋ฒˆ - ๋ฒผ๋ฃฉ ์‹œ์žฅ

[๋ฌธ์ œ] https://www.acmicpc.net/problem/14943 14943๋ฒˆ: ๋ฒผ๋ฃฉ ์‹œ์žฅ ๋ฒผ๋ฃฉ์‹œ์žฅ์—์„œ ์‚ฌ๋žŒ๋“ค์ด ๋ฒผ๋ฃฉ์„ ์‚ฌ๊ณ  ํŒ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ๊ฐ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ๋ ค๊ณ  ํ•˜๋Š” ๋ฒผ๋ฃฉ์˜ ํ•ฉ๊ณผ ํŒŒ๋Š” ๋ฒผ๋ฃฉ์˜ ํ•ฉ์€ ๊ฐ™๋‹ค. ๋ฒผ๋ฃฉ์„ ์‚ฌ๊ฑฐ๋‚˜ ํŒŒ๋Š” ์‚ฌ๋žŒ๋“ค์€ ์„œ๋กœ ์ผ๋ ฌ๋กœ ๊ธธ๊ฒŒ ์„œ ์žˆ์œผ๋ฉฐ, ์ธ์ ‘ํ•œ ๊ฐ€๊ฒŒ ์‚ฌ์ด www.acmicpc.net [ํ’€์ด] +๊ฐ’์€ ํŒ๋งค ๋ฐฐ์—ด(sale[]), -๊ฐ’์€ ๊ตฌ๋งค ๋ฐฐ์—ด(buy[])์— ๊ฐ๊ฐ ์ €์žฅํ•œ ํ›„ ํˆฌํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. 1. info[]์— ๋‹ด๊ฒจ์žˆ๋Š” ๋ฒผ๋ฃฉ ์‹œ์žฅ ์ •๋ณด๋“ค์„ sale๊ณผ buy์— [๊ธˆ์•ก, index] ํ˜•ํƒœ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. 2. ํŒ๋งค ์ •๋ณด์™€ ๊ตฌ๋งค ์ •๋ณด๋กœ ํˆฌํฌ์ธํ„ฐ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. buy์˜ ์œ„์น˜๋ฅผ ์ €์žฅํ•œ left ๋ณ€์ˆ˜์™€, sale์˜ ์œ„์น˜๋ฅผ ์ €์žฅํ•œ right ๋ณ€์ˆ˜๋ฅผ ๊ฐ๊ฐ 0์œผ๋กœ..

Algorithm/Baekjoon 2022. 9. 19. 18:33
[JavaScript/node.js] ๋ฐฑ์ค€ 24513๋ฒˆ - ์ข€๋น„ ๋ฐ”์ด๋Ÿฌ์Šค

[๋ฌธ์ œ] https://www.acmicpc.net/problem/24513 24513๋ฒˆ: ์ข€๋น„ ๋ฐ”์ด๋Ÿฌ์Šค ์—ฌ๊ธฐ $N$ x $M$ ๊ฒฉ์ž ๋ชจ์–‘์˜ ๋งˆ์„์ด ์žˆ๋‹ค. ์–ด๋Š ๋‚  ์„ธ์ƒ์— ์ข€๋น„ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์ฐฝ๊ถํ•˜์—ฌ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ๋น ๋ฅด๊ฒŒ ํผ์ ธ๋‚˜๊ฐ€๋ฒ„๋ฆฐ๋‹ค. ๋ฐ”์ด๋Ÿฌ์Šค์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ ์„ธ ์ข…๋ฅ˜์˜ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์กด์žฌํ–ˆ์œผ๋ฉฐ ๊ฐ๊ฐ $1$ www.acmicpc.net [ํ’€์ด] BFS๋ฅผ ํ†ตํ•ด ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ํผํŠธ๋ฆฝ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์„ธํŒ… village : ๋งˆ์„ ์ •๋ณด ์ €์žฅ virus: [x์ขŒํ‘œ, y์ขŒํ‘œ, ๋ฐ”์ด๋Ÿฌ์Šค ํƒ€์ž…] ํ˜•ํƒœ๋กœ ๋ฐ”์ด๋Ÿฌ์Šค ์ •๋ณด ์ €์žฅ checkOut(x, y) : ๋งˆ์„์„ ๋ฒ—์–ด๋‚œ ์œ„์น˜๋ฉด true, ๋งˆ์„ ์•ˆ์— ์žˆ๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ ํ’€์ด ๊ณผ์ • bfs๋ฅผ ํ†ตํ•ด ๊ฐฑ์‹ ๋˜๋Š” ๋ฐ”์ด๋Ÿฌ์Šค ์ •๋ณด๋ฅผ virus์— ์ €์žฅํ•˜๋ฉฐ ๋ชจ๋‘ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋™์‹œ๊ฐ„๋Œ€..

Algorithm/Baekjoon 2022. 9. 8. 19:46
[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/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
[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] ๋ฐฑ์ค€ 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