๐Ÿ Python/๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

240321 THU ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์˜ ํ™”๋ฒ• (feat. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค K๋ฒˆ์งธ ์ˆ˜ (์ •๋ ฌ) ํ’€์ด)

ํ–‰ํŒฝ 2024. 3. 21. 21:30

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

# ์ •๋‹ต

def solution(array, commands):
	
    # ๋นˆ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    answer = []
    
    # a~b ์ž๋ฅด๊ณ  -> ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ -> ์ •๋ ฌํ•œ ๋ฐฐ์—ด์˜ c๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ๋นˆ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ๊ธฐ
    for a, b, c in commands:
        answer.append(sorted(array[a-1:b])[c-1])
    
    return answer

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ Kit์— ์žˆ๋Š” ์‰ฌ์šด ์ •๋ ฌ ๋ฌธ์ œ.

์‚ฌ์‹ค ์ •๋ ฌ๋ณด๋‹ค๋Š” ์Šฌ๋ผ์ด์‹ฑ ๊ธฐ์ดˆ์ฒ˜๋Ÿผ ๋А๊ปด์กŒ๋Š”๋ฐ ์›๋ž˜ ์ •๋ ฌ ๋ฌธ์ œ๊ฐ€ ์ด๋Ÿฐ ๊ฑธ๊นŒ?

 

ํ—ท๊ฐˆ๋ ธ๋˜ ์ง€์ ์€ ์•„๋ž˜ ๋ฌธ์ œ ์„ค๋ช…์˜ ๋นจ๊ฐ„์ค„ ์นœ ๋ถ€๋ถ„.

 

 

์ œ์‹œ๋œ i์™€ j๋Š” ์ธ๋ฑ์Šค(0๋ถ€ํ„ฐ ์‹œ์ž‘)๊ฐ€ ์•„๋‹ˆ๋ผ ๊ทธ๋ƒฅ ์ˆซ์ž์ธ๋ฐ,

๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์„ ํ•ด์•ผ ํ•˜๋‹ค ๋ณด๋‹ˆ ๋‹น์—ฐํžˆ ์ธ๋ฑ์Šค ๊ฐ’์ธ ์ค„ ์•Œ์•˜๋‹ค.

๊ทธ๋ž˜์„œ '์™œ (์ธ๋ฑ์Šค) 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š”๋ฐ [5, 2, 6, 3]์ด์ง€? [2, 6, 3] ์•„๋ƒ…?' ๋ผ๊ณ  ์ฐฉ๊ฐํ–ˆ๋‹ค(๐Ÿ˜…).

 

์—ฌ๊ธฐ์„œ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋‚˜์˜ ๋ฌธ์ œ์ .

๋ฌธ์ œ๋Š” ๋˜‘๋ฐ”๋กœ ์ฝ๋Š”๋ฐ, ๋ญ๋ž„๊นŒ… ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์˜ ๋ฌธ์ œ ์„ค๋ช…, ์ž…์ถœ๋ ฅ ์„ค๋ช… ๋“ฑ์— ๋Œ€ํ•œ ํ™”๋ฒ•์— ์•ˆ ์ต์ˆ™ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋„ ๊ทธ๋Ÿด๊ฒŒ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์˜ ํ™”๋ฒ•์€ ์ƒ๋‹นํžˆ ๋‹ค์ค‘์  ์˜๋ฏธ๋กœ ๋А๊ปด์ง€๊ฒŒ ๋งŒ๋“œ๋Š” ์ง€์ ์ด ์žˆ๋‹ค.

 

์ฒ˜์Œ์—๋Š” ๋‚ด ์ „ ์ง๋ฌด๊ฐ€ ์•„๋ฌด๋ž˜๋„ ์–ธ์–ด์™€ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ์žˆ๋‹ค ๋ณด๋‹ˆ ๋‚ด๊ฐ€ ์˜ˆ๋ฏผํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ,

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ฟผ๋ฆฌ ํ…Œ์ŠคํŠธ ์ค‘ [ํŠน์ • ๊ธฐ๊ฐ„๋™์•ˆ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•œ ์ž๋™์ฐจ๋“ค์˜ ๋Œ€์—ฌ๋น„์šฉ ๊ตฌํ•˜๊ธฐ]๋ฅผ ํ’€๋ฉด์„œ ํ™•์‹ ํ–ˆ๋‹ค.

 

(…) 2022๋…„ 11์›” 1์ผ๋ถ€ํ„ฐ 2022๋…„ 11์›” 30์ผ๊นŒ์ง€ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•˜๊ณ  30์ผ๊ฐ„์˜ ๋Œ€์—ฌ ๊ธˆ์•ก์ด 50๋งŒ์› ์ด์ƒ 200๋งŒ์› ๋ฏธ๋งŒ์ธ ์ž๋™์ฐจ์— ๋Œ€ํ•ด์„œ (…) ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 

๋ฐ”๋กœ ์ด ๋ถ€๋ถ„. ํ•ด์„์˜ ์—ฌ์ง€๊ฐ€ 2๊ฐœ ์žˆ๋‹ค.

 

1. 11์›” ํ•œ ๋‹ฌ ๋™์•ˆ(1~30์ผ) full๋กœ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค
2. 11์›” ํ•œ ๋‹ฌ ๋™์•ˆ ํ•œ ๋ฒˆ์ด๋ผ๋„ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค

 

๋‚˜๋Š” ๋งฅ๋ฝ ์ƒ ๋‹น์—ฐํžˆ 1๋ฒˆ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด, ๋ฐ”๋กœ ๋’ค์— 30์ผ๊ฐ„์˜ ๋Œ€์—ฌ ๊ธˆ์•ก์— ๋Œ€ํ•œ ์กฐ๊ฑด์ด ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทผ๋ฐ ์•„๋ฌด๋ฆฌ ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์•ˆ ํ’€๋ ค์„œ ํ’€์ด๋ฅผ ์ฐพ์•„ ๋ณด๋‹ˆ 2๋ฒˆ์ด์—ˆ๋”๋ผ๊ณ …

2๋ฒˆ์˜ ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๋ ค๋ฉด 'ํ•œ ๋ฒˆ์ด๋ผ๋„', '์ตœ์†Œ ํ•œ ๋ฒˆ ์ด์ƒ' ๋“ฑ ๋” specificํ•˜๊ฒŒ ์ ์–ด์ค˜์•ผ ํ•˜๋Š” ๊ฒŒ ์•„๋‹Œ๊ฐ€ ์‹ถ์—ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์‹ค์ œ ๊ธฐ์—… ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์— ๊ฐ€์„œ ์ด๋Ÿฐ ๋ถˆํ‰์„ ํ•  ์ˆœ ์—†๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์˜ ํ™”๋ฒ•์— ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•œ๋‹ค!