๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[Level 1] K๋ฒˆ์งธ์ˆ˜

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 5. 12.

 

 

 

Algorithm

-  K๋ฒˆ์งธ์ˆ˜ -

 


 

๋ฌธ์ œ

๋ฐฐ์—ด array์˜ i๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ์ž๋ฅด๊ณ  ์ •๋ ฌํ–ˆ์„ ๋–„, k๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด array๊ฐ€ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3 ์ด๋ผ๋ฉด,

1. array์˜ 2๋ฒˆ์งธ๋ถ€ํ„ฐ 5๋ฒˆ์งธ๊นŒ์ง€ ์ž๋ฅด๋ฉด [5, 2, 6, 3]์ž…๋‹ˆ๋‹ค.

2. 1์—์„œ ๋‚˜์˜จ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๋ฉด [2, 3, 5, 6]์ž…๋‹ˆ๋‹ค.

3. 2์—์„œ ๋‚˜์˜จ ๋ฐฐ์—ด์˜ 3๋ฒˆ์งธ ์ˆซ์ž๋Š” 5์ž…๋‹ˆ๋‹ค

 

๋ฐฐ์—ด array, [i, j, k]๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง„ 2์ฐจ์› ๋ฐฐ์—ด commands๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, commands์˜ ๋ชจ๋“  ์›์†Œ์— ๋Œ€ํ•ด ์•ž์„œ ์„ค๋ช…ํ•œ ์—ฐ์‚ฐ์„ ์ ์šฉํ–ˆ์„ ๋•Œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฆฌํ„ดํ•˜๋„๋ก ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

array commands return
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

 

๋ฌธ์ œ ํ’€๊ธฐ

 

์ด๋ฌธ์ œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ commands์•ˆ์— ์žˆ๋Š” ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ slice๋ฅผ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—๋„ฃ์–ด์„œ ํ’€๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

์ผ๋‹จ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— cut์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ commands์—์„œ i๋ฒˆ์งธ์— ์žˆ๋Š” ๊ฐ’์„ ์‚ฌ์šฉํ•ด array์˜ ๊ฐ’์„ ํ•ด์น˜์ง€์•Š๊ณ  ๊ฐ€์ ธ์˜จ๋‹ค์Œ์— ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•œ ํ›„ ํŠน์ • ์ธ๋ฑ์Šค์•ˆ์— ์žˆ๋Š” ๊ฐ’์„ result์•ˆ์— ํ‘ธ์‹œํ•œ ๋‹ค์Œ ์ตœ์ข…์ ์œผ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์—ˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€