[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ธฐ์ง€๊ตญ ์„ค์น˜

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/12979# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์ „ํŒŒ๋ ฅ์ดw์ธ ๊ฒฝ์šฐ, ์ตœ๋Œ€ 2*w + 1 ๊ฑฐ๋ฆฌ๋งŒํผ ์•„ํŒŒํŠธ๋“ค์—๊ฒŒ ์ „ํŒŒ๊ฐ€ ๋„๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „ํŒŒ๊ฐ€ ๋„๋‹ฌํ•˜์ง€ ์•Š์€ ์—ฐ์†๋œ ์•„ํŒŒํŠธ์— ์ตœ์†Œ์˜ ๊ธฐ์ง€๊ตญ์œผ๋กœ ์ „ํŒŒ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Math.ceil(์—ฐ์†๋œ ์•„ํŒŒํŠธ ๊ธธ์ด/(2*w+1)) ์˜ˆ์‹œ 1๋ฒˆ๊ณผ ๊ฐ™์ด w=1์ธ ๊ฒฝ์šฐ ์ „ํŒŒ๊ฐ€ ๋„๋‹ฌํ•˜์ง€ ์•Š์€ ์—ฐ์†๋œ ์•„ํŒŒํŠธ์˜ ๊ธธ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Math.ceil(2/3) + Math...

Algorithm/Programmers 2022. 10. 17. 17:27
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๊ฒŒ์ž„

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/12987?language=javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ํˆฌํฌ์ธํ„ฐ์˜ ๊ฐœ๋…์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์–ด์ฐจํ”ผ A์˜ ์ˆœ์„œ๋Š” ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, A๊ฐ€ ๋Š˜ ๋จผ์ € ๊ฒฝ๊ธฐ์— ๋‚ด๋ณด๋‚ผ ์‚ฌ์›์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ A์™€ B๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜์—ฌ ํˆฌํฌ์ธํ„ฐ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ 1๋ฒˆ์˜ A, B ๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. [ 1, 3, 5, 7 ] [ 2, 2, 6, 8 ]..

Algorithm/Programmers 2022. 9. 30. 20:38
[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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ธ”๋ก๊ฒŒ์ž„

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42894 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์ดˆ๊ธฐ ์„ธํŒ… 1. ๊ฐ ๋ธ”๋ก์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ง์‚ฌ๊ฐํ˜•์˜ ์ขŒํ‘œ์™€ ๋ธ”๋ก๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. block ๋ฐฐ์—ด์— [๋ธ”๋ก๋ฒˆํ˜ธ, x1, y1, x2, y2]ํ˜•ํƒœ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํ•ด๋‹น ๋ธ”๋ก์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (x1, y1) (x1, y2) (x2, y1) (x2, y2) block ๋ฐฐ์—ด์˜ ์–ด๋Š index์— ๋ธ”๋ก๋ฒˆํ˜ธ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Map์„ ํ™œ์šฉํ•ด (key = ๋ธ”๋ก๋ฒˆํ˜ธ, va..

Algorithm/Programmers 2022. 9. 16. 20:49
[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ฌด์ง€์˜ ๋จน๋ฐฉ ๋ผ์ด๋ธŒ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42891 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์ด๋ถ„ํƒ์ƒ‰์„ ํ†ตํ•ด ํšŒ์ „ํŒ์ด ๋ช‡๋ฒˆ์งธ ๋Œ์•˜์„ ๋•Œ k+1์ดˆ๊ฐ€ ๋˜๋Š”์ง€ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์ „ํŒ์ด [3, 1, 2]์ด๊ณ  k๊ฐ€ 5๋ผ๋ฉด k+1์ธ 6์ดˆ์— ์–ด๋–ค ๊ทธ๋ฆ‡์„ ๋จน๋Š”์ง€ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. 1ํšŒ์ „ : [2, 0, 1] -> 3์ดˆ ์ง€๋‚จ 2ํšŒ์ „ : [1, 0, 0] -> 5์ดˆ ์ง€๋‚จ 3ํšŒ์ „ : [0, 0, 0] -> 6์ดˆ ์ง€๋‚จ ๋”ฐ๋ผ์„œ 3ํšŒ์ „์— 6์ดˆ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ 3ํšŒ์ „์„ ..

Algorithm/Programmers 2022. 9. 11. 22:45
[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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์‹คํŒจ์œจ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/42889 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] 1. level ๋ฐฐ์—ด์— ํ˜„์žฌ ์Šคํ…Œ์ด์ง€(๋ ˆ๋ฒจ)์— ๋„๋‹ฌํ•œ ํ”Œ๋ ˆ์ด์–ด ์ˆ˜๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. 2. clear ๋ณ€์ˆ˜์— ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ๊นŒ์ง€ ํด๋ฆฌ์–ดํ•œ ํ”Œ๋ ˆ์ด์–ด ์ˆ˜๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ๊นŒ์ง€ ํด๋ฆฌ์–ดํ•œ ํ”Œ๋ ˆ์ด์–ด ์ˆ˜ = level[N+1] 3. fail ๋ฐฐ์—ด์— [์Šคํ…Œ์ด์ง€, ์Šคํ…Œ์ด์ง€ ์‹คํŒจ์œจ] ํ˜•ํƒœ๋กœ ๋ชจ๋“  ์Šคํ…Œ์ด์ง€์˜ ์‹คํŒจ์œจ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ˜„์žฌ ์Šคํ…Œ์ด์ง€๊ฐ€ i๋ผ๋ฉด, ์‹คํŒจ์œจ = (ํ˜„์žฌ ์Šคํ…Œ์ด์ง€์— ์žˆ๋Š” ํ”Œ๋ ˆ..

Algorithm/Programmers 2022. 9. 5. 18:01