๋ฐ˜์‘ํ˜•
๋‚ด ์ธ์ƒ์—์„œ ๋ฏฟ์„ ๊ฑด ์˜ค์ง ๋‚˜ ์ž์‹ ๋ฟ!

The only one you can truly trust is yourself.


๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ 110

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ‘œ ๋ณ‘ํ•ฉ (2023 KAKAO BLIND RECRUITMENT)

๋ฌธ์ œ ์„ค๋ช… ๋‹น์‹ ์€ ํ‘œ ํŽธ์ง‘ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์˜ ํฌ๊ธฐ๋Š” 50 × 50์œผ๋กœ ๊ณ ์ •๋˜์–ด์žˆ๊ณ  ์ดˆ๊ธฐ์— ๋ชจ๋“  ์…€์€ ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์…€์€ ๋ฌธ์ž์—ด ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ์…€๊ณผ ๋ณ‘ํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ r๋ฒˆ์งธ, ์™ผ์ชฝ์—์„œ c๋ฒˆ์งธ ์œ„์น˜๋ฅผ (r, c)๋ผ๊ณ  ํ‘œํ˜„ํ•  ๋•Œ, ๋‹น์‹ ์€ ๋‹ค์Œ ๋ช…๋ น์–ด๋“ค์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. "UPDATE r c value" (r, c) ์œ„์น˜์˜ ์…€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์…€์˜ ๊ฐ’์„ value๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. "UPDATE value1 value2" value1์„ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  ์…€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์…€์˜ ๊ฐ’์„ value2๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. "MERGE r1 c1 r2 c2" (r1, c1) ์œ„์น˜์˜ ์…€๊ณผ (r2, c2) ์œ„์น˜์˜ ์…€์„ ์„ ํƒํ•˜์—ฌ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๋‘ ์œ„์น˜์˜..

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#2] ๋ณด๋ฌผ ์ง€๋„ (๊ธธ์ฐพ๊ธฐ) - ๋ฏธ์™„๋ฃŒ

๋ฌธ์ œ ์„ค๋ช… ์ง„์ˆ˜๋Š” ๋ณด๋ฌผ์ด ๋ฌปํžŒ ์žฅ์†Œ์™€ ํ•จ์ •์ด ํ‘œ์‹œ๋œ ๋ณด๋ฌผ ์ง€๋„๋ฅผ ์ด์šฉํ•ด ๋ณด๋ฌผ์„ ์ฐพ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋ฌผ์ง€๋„๋Š” ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ n, ์„ธ๋กœ ๊ธธ์ด๊ฐ€ m์ธ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ž…๋‹ˆ๋‹ค. ๋งจ ์™ผ์ชฝ ์•„๋ž˜ ์นธ์˜ ์ขŒํ‘œ๋ฅผ (1, 1)์œผ๋กœ, ๋งจ ์˜ค๋ฅธ์ชฝ ์œ„ ์นธ์˜ ์ขŒํ‘œ๋ฅผ (n, m)์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ์„ ๋•Œ, ๋ณด๋ฌผ์€ (n, m) ์ขŒํ‘œ์— ๋ฌปํ˜€์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ผ๋ถ€ ์นธ์—๋Š” ํ•จ์ •์ด ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ์นธ์œผ๋กœ๋Š” ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ง„์ˆ˜๋Š” ์ฒ˜์Œ์— (1, 1) ์ขŒํ‘œ์—์„œ ์ถœ๋ฐœํ•ด ๋ณด๋ฌผ์ด ์žˆ๋Š” ์นธ์œผ๋กœ ์ด๋™ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋™ํ•  ๋•Œ๋Š” [์ƒ,ํ•˜,์ขŒ,์šฐ]๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘ ํ•œ ์นธ์œผ๋กœ ๊ฑธ์–ด์„œ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ์นธ์„ ๊ฑธ์–ด์„œ ์ด๋™ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ 1์ž…๋‹ˆ๋‹ค. ์ง„์ˆ˜๋Š” ๋ณด๋ฌผ์ด ์œ„์น˜ํ•œ ์นธ์œผ๋กœ ์ˆ˜์›”ํ•˜๊ฒŒ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ์‹ ๋น„๋กœ์šด ์‹ ๋ฐœ์„ ํ•˜๋‚˜ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹ ๋ฐœ์„ ์‹ ๊ณ  ๋›ฐ๋ฉด ํ•œ ๋ฒˆ์— ๋‘..

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#2] ์นดํŽ˜ ํ™•์žฅ (ํ)

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

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#2] ์‹ ์ž…์‚ฌ์› ๊ต์œก (์šฐ์„ ์ˆœ์œ„ํ)

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

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#2] ์‹ค์Šต์šฉ ๋กœ๋ด‡ (๋‹จ์ˆœ ๊ตฌํ˜„)

๋ฌธ์ œ ์„ค๋ช… ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ์—์„œ๋Š” ์‹ค์Šต์šฉ ๋กœ๋ด‡์„ ์ด์šฉํ•ด์„œ ๋กœ๋ด‡ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์‹ค์Šต์šฉ ๋กœ๋ด‡์€ ์ž…๋ ฅ๋œ ๋ช…๋ น์— ๋”ฐ๋ผ x์ขŒํ‘œ์™€ y์ขŒํ‘œ๋กœ ํ‘œํ˜„๋˜๋Š” 2์ฐจ์› ์ขŒํ‘œ ํ‰๋ฉด ์œ„๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ช…๋ น์€ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋กœ ์ฃผ์–ด์ง€๋ฉฐ ๊ฐ ๋ช…๋ น์–ด์— ๋”ฐ๋ผ ๋กœ๋ด‡์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋„ค ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. 'R': ๋กœ๋ด‡์ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ 90๋„ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค. 'L': ๋กœ๋ด‡์ด ์™ผ์ชฝ์œผ๋กœ 90๋„ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค. 'G': ๋กœ๋ด‡์ด ํ•œ ์นธ ์ „์ง„ํ•ฉ๋‹ˆ๋‹ค. 'B': ๋กœ๋ด‡์ด ํ•œ ์นธ ํ›„์ง„ํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด๋Š” ๊ฐ๊ฐ์˜ ๋ช…๋ น๋“ค์ด ๋ชจ์ธ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ์ฐจ๋ก€๋Œ€๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋กœ๋ด‡์€ ์ฒ˜์Œ์— (0, 0) ์œ„์น˜์— +y ์ถ•์„ ํ–ฅํ•˜์—ฌ ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์€ ๋ฒˆํ˜ธ ์ˆœ์„œ๋Œ€๋กœ ๋ช…๋ น์–ด "GRGLGRG"์˜ ๊ณผ์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋กœ๋ด‡์— ์ž…๋ ฅ๋œ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฌธ..

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#1] ์šด์˜์ฒด์ œ (์šฐ์„ ์ˆœ์œ„ํ)

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

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#1] ์œ ์ „๋ฒ•์น™ (์Šคํƒ)

๋ฌธ์ œ ์„ค๋ช… ๋ฉ˜๋ธ์€ ์™„๋‘์ฝฉ์„ ์ด์šฉํ•˜์—ฌ 7๋…„๊ฐ„ ์‹คํ—˜ํ•œ ๊ฒฐ๊ณผ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน๋ณ„ํ•œ ๋ฒ•์น™์„ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‘ฅ๊ทผ ์™„๋‘ ์ˆœ์ข…(RR)์„ ์ž๊ฐ€ ์ˆ˜๋ถ„, ์ฆ‰ ๊ฐ™์€ ์œ ์ „์ž๋ผ๋ฆฌ ๊ต๋ฐฐํ•  ๊ฒฝ์šฐ, ๋‹ค์Œ ์„ธ๋Œ€์— ๋‘ฅ๊ทผ ์™„๋‘ ์ˆœ์ข… ํ˜•์งˆ๋งŒ ๋‚˜ํƒ€๋‚œ๋‹ค. ์ฃผ๋ฆ„์ง„ ์™„๋‘ ์ˆœ์ข…(rr)์„ ์ž๊ฐ€ ์ˆ˜๋ถ„ํ•  ๊ฒฝ์šฐ, ๋‹ค์Œ ์„ธ๋Œ€์— ์ฃผ๋ฆ„์ง„ ์™„๋‘ ์ˆœ์ข… ํ˜•์งˆ๋งŒ ๋‚˜ํƒ€๋‚œ๋‹ค. ๋‘ ์ˆœ์ข…์„ ๊ต๋ฐฐํ•œ ์žก์ข…(Rr)์„ ์ž๊ฐ€ ์ˆ˜๋ถ„ํ•  ๊ฒฝ์šฐ, ๋‹ค์Œ ์„ธ๋Œ€์˜ ํ˜•์งˆ์€ RR:Rr:rr=1:2:1์˜ ๋น„์œจ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค. (์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ์กฐ) ๋ฉ˜๋ธ์˜ ๋ฒ•์น™์„ ๊ณต๋ถ€ํ•œ ์ง„์†ก์ด๋Š”, ์ง์ ‘ ์™„๋‘์ฝฉ์˜ ์ž๊ฐ€ ์ˆ˜๋ถ„ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง„์†ก์ด์˜ ์‹คํ—˜์—์„œ ์™„๋‘์ฝฉ ํ•œ ๊ฐœ๋ฅผ ์ž๊ฐ€ ์ˆ˜๋ถ„ํ•œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ ์™„๋‘์ฝฉ์€ ์ž๊ฐ€ ์ˆ˜๋ถ„ํ•ด์„œ ์ •ํ™•ํžˆ 4๊ฐœ์˜ ์™„๋‘์ฝฉ ํ›„์†์„ ๋‚จ๊ธด๋‹ค. ์žก์ข… ์™„๋‘์ฝฉ(Rr)์€ ์ž๊ฐ€ ์ˆ˜๋ถ„ํ•ด์„œ ์ฒซ์งธ๋Š” RR..

[PCCP ๋ชจ์˜๊ณ ์‚ฌ#1] ์ฒด์œก๋Œ€ํšŒ (itertools.permutation)

๋ฌธ์ œ ์„ค๋ช… ๋‹น์‹ ์ด ๋‹ค๋‹ˆ๋Š” ํ•™๊ต๋Š” ๋งค๋…„ ์ฒด์œก๋Œ€ํšŒ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒด์œก๋Œ€ํšŒ๋Š” ์—ฌ๋Ÿฌ ์ข…๋ชฉ์— ๋Œ€ํ•ด ๊ฐ ๋ฐ˜์˜ ํ•ด๋‹น ์ข…๋ชฉ ๋Œ€ํ‘œ๊ฐ€ 1๋ช…์”ฉ ๋‚˜์™€ ๋Œ€๊ฒฐ์„ ํ•˜๋ฉฐ, ํ•œ ํ•™์ƒ์€ ์ตœ๋Œ€ ํ•œ๊ฐœ์˜ ์ข…๋ชฉ ๋Œ€ํ‘œ๋งŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ๋ฐ˜์—์„œ๋„ ํ•œ ์ข…๋ชฉ๋‹น 1๋ช…์˜ ๋Œ€ํ‘œ๋ฅผ ๋ฝ‘์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค๋งˆ๋‹ค ๊ฐ ์ข…๋ชฉ์— ๋Œ€ํ•œ ๋Šฅ๋ ฅ์ด ๋‹ค๋ฅด์ง€๋งŒ ์ด ๋Šฅ๋ ฅ์€ ์ˆ˜์น˜ํ™”๋˜์–ด ์žˆ์–ด ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ๋ฐ˜์˜ ์ „๋žต์€ ๊ฐ ์ข…๋ชฉ ๋Œ€ํ‘œ์˜ ํ•ด๋‹น ์ข…๋ชฉ์— ๋Œ€ํ•œ ๋Šฅ๋ ฅ์น˜์˜ ํ•ฉ์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋‹น์‹ ์˜ ๋ฐ˜ ํ•™์ƒ์ด 5๋ช…์ด๊ณ , ์ข…๋ชฉ์˜ ๊ฐœ์ˆ˜๊ฐ€ 3๊ฐœ์ด๋ฉฐ, ๊ฐ ์ข…๋ชฉ์— ๋Œ€ํ•œ ํ•™์ƒ๋“ค์˜ ๋Šฅ๋ ฅ์น˜๊ฐ€ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์„ ๋•Œ, ๊ฐ ์ข…๋ชฉ์˜ ๋Œ€ํ‘œ๋ฅผ ๋ฝ‘๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ํ…Œ๋‹ˆ์Šค ํƒ๊ตฌ ์ˆ˜์˜ ์„ํ™˜ 40 10 10 ์˜์žฌ 20 5 0 ์ธ์šฉ 30 30 30 ์ •ํ˜„ 70 0 70 ์ค€๋ชจ 100 100 100 ..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ์ „๋ฌธ์—ญ๋Ÿ‰์ธ์ฆ์‹œํ—˜(PCCP) ์ฝ”๋”ฉํ•„์ˆ˜์—ญ๋Ÿ‰์ธ์ฆ(PCCE)

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ์ „๋ฌธ์—ญ๋Ÿ‰์ธ์ฆ ์‹œํ—˜์ด๋ž€๊ฒŒ ์žˆ๋‹ค. ๊ทผ๋ฐ ๊ทธ๋ƒฅ ์ณค๋‹ค๊ฐ€ ๋–จ์–ด์ง€๋ฉด ์‘์‹œ๋ฃŒ ์•„๊นŒ์šธํ…Œ๋‹ˆ ๋ชจ์˜๊ณ ์‚ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๊ณ  ๋‚œ์ด๋„๊ฐ€ ์–ด๋–ค์ง€ ์‚ดํŽด๋ณด์ž. PCCP๋Š” ์ด 4๋ฌธ์ œ. 120๋ถ„์ด ์ฃผ์–ด์ง€๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์™€ ๋น„์Šทํ•˜๊ฒŒ ์ง„ํ–‰๋œ๋‹ค. PCCP๋ง๊ณ  PCCE๋„ ์žˆ๋Š”๋ฐ, ์ด๊ฑด ๋นˆ์นธ ์ฑ„์šฐ๊ธฐ, ๋””๋ฒ„๊น…, ์ฝ”๋“œ ์ž‘์„ฑ ๋“ฑ 10๊ฐœ ๋ฌธํ•ญ 50๋ถ„์œผ๋กœ PCCE๋Š” ์ฝ”๋”ฉํ•„์ˆ˜์—ญ๋Ÿ‰์ธ์ฆ, PCCP๋Š” ์ฝ”๋”ฉ์ „๋ฌธ์—ญ๋Ÿ‰์ธ์ฆ. PCCP๊ฐ€ ๋” ๋“ฑ๊ธ‰์ด ๋†’์€ ๊ฒƒ ๊ฐ™๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ถ€๋Œ€๋ณต๊ท€ (๊ทธ๋ž˜ํ”„/BFS/์—ญ์ˆœ)

๋ฌธ์ œ ์„ค๋ช… ๊ฐ•์ฒ ๋ถ€๋Œ€์˜ ๊ฐ ๋ถ€๋Œ€์›์ด ์—ฌ๋Ÿฌ ์ง€์—ญ์— ๋ฟ”๋ฟ”์ด ํฉ์–ด์ ธ ํŠน์ˆ˜ ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ์ง€๋„์—์„œ ๊ฐ•์ฒ ๋ถ€๋Œ€๊ฐ€ ์œ„์น˜ํ•œ ์ง€์—ญ์„ ํฌํ•จํ•œ ๊ฐ ์ง€์—ญ์€ ์œ ์ผํ•œ ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ, ๋‘ ์ง€์—ญ ๊ฐ„์˜ ๊ธธ์„ ํ†ต๊ณผํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋ชจ๋‘ 1๋กœ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฐ ๋ถ€๋Œ€์›์€ ์ง€๋„ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ตœ๋‹จ์‹œ๊ฐ„์— ๋ถ€๋Œ€๋กœ ๋ณต๊ท€ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ ๊ตฐ์˜ ๋ฐฉํ•ด๋กœ ์ธํ•ด, ์ž„๋ฌด์˜ ์‹œ์ž‘ ๋•Œ์™€ ๋‹ค๋ฅด๊ฒŒ ๋˜๋Œ์•„์˜ค๋Š” ๊ฒฝ๋กœ๊ฐ€ ์—†์–ด์ ธ ๋ณต๊ท€๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ถ€๋Œ€์›๋„ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ฒ ๋ถ€๋Œ€๊ฐ€ ์œ„์น˜ํ•œ ์ง€์—ญ์„ ํฌํ•จํ•œ ์ด์ง€์—ญ์˜ ์ˆ˜ n, ๋‘ ์ง€์—ญ์„ ์™•๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธธ ์ •๋ณด๋ฅผ ๋‹ด์€ 2์ฐจ์› ์ •์ˆ˜ ๋ฐฐ์—ด roads, ๊ฐ ๋ถ€๋Œ€์›์ด ์œ„์น˜ํ•œ ์„œ๋กœ ๋‹ค๋ฅธ ์ง€์—ญ๋“ค์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด sources, ๊ฐ•์ฒ ๋ถ€๋Œ€์˜ ์ง€์—ญ destination์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฃผ์–ด์ง„ sourc..

๋ฐ˜์‘ํ˜•