Python: sort, sorted ํ™œ์šฉํ•˜๊ธฐ

์ •๋ ฌ ๊ธฐ์ค€ ์„ ํƒ ์˜ค๋ฆ„ ์ฐจ์ˆœ ์ •๋ ฌ nums = [[3, 4], [1, 1], [1, -1], [2, 2], [3, 3]] sort(nums, key=lambda x: (x[0], x[1])) ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ์ค€์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์œ„์™€ ๊ฐ™์ด ์šฐ์„ ์ ์œผ๋กœ ์ •๋ ฌํ•  ๊ธฐ์ค€์„ ์„ ํƒํ•˜์—ฌ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ `x: (x[1], x[0])`๊ฐ€ ๋œ๋‹ค๋ฉด 2๋ฒˆ์งธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๋‚ด๋ฆผ ์ฐจ์ˆœ ์ •๋ ฌ nums = [[3, 4], [1, 1], [1, -1], [2, 2], [3, 3]] sort(nums, key=lambda x: (-x[0], x[1])) ์ •๋ ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ์ค€์— ํ•˜๋‚˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ, ํ•˜๋‚˜๋Š” ์˜ค๋ฆ„ ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์ด `-`๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค‘๋ณต๋˜๋Š” ๊ฐ’์ด ์žˆ..

Python: heapq ํ™œ์šฉํ•˜๊ธฐ

heapq ์ด์ง„ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์ตœ์†Œ ํž™ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๊ณ„์†ํ•ด์„œ ์ •๋ ฌ์„ ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š”, heapifyํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค. import heapq heap = [] heapq.heappush(heap, 7) heapq.heappush(heap, 1) heapq.heappush(heap, 5) heapq.heappush(heap, 3) heapq.heappop(heap) ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฆฌ์ŠคํŠธ์— ๊ฐ’์„ ์‚ฝ์ž… ์‚ญ์ œ ํ•  ๊ฒฝ์šฐ, heapq์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์†Œํž™ ์„ฑ์งˆ์„ ๊ฐ€์ง„๋‹ค. ์ตœ์†Œํž™์˜ ๊ฒฝ์šฐ, ๋ชจ๋“  ์›์†Œ(k)๋Š” ์ž์‹ ์›์†Œ๋“ค(2k+1, 2k+2) ๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ์˜ˆ์ œ๋Š” [1, 3, 5, 7]๋กœ ์ •๋ ฌ๋˜์–ด ์ตœ์†Œํž™์ด ์œ ์ง€๋˜๊ฒŒ ๋œ๋‹ค. h..

Python: List ํ™œ์šฉํ•˜๊ธฐ

๋ฌด์—‡์„ ํ™œ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๊ฐ ์–ธ์–ด๋งˆ๋‹ค ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์กฐ๊ธˆ์”ฉ ์ƒ์ดํ•˜๋‹ค. ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ built-in function์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ณ , ๋น ๋ฅด๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ด๋ฅผ ์ž˜ ์ˆ™์ง€ํ•œ๋‹ค๋ฉด, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ํšจ์œจ์ ์œผ๋กœ ๋ฌธ์ œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. List ๋‚ด ๊ฐ ์š”์†Œ ๋ณ€๊ฒฝ ๊ธฐ๋ณธ ์ ์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฆฌ์ŠคํŠธ์— ๊ฐ’์„ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜๋‹ค. (๊ฐ ํ•จ์ˆ˜๋“ค์€ ๋ฐ˜ํ™˜๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.) 1. append # ๋ฆฌ์ŠคํŠธ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ๋’ค์— ๊ฐ’ ์‚ฝ์ž… list.append(item) 2. extend # ๋ฆฌ์ŠคํŠธ1์— ๋ฆฌ์ŠคํŠธ2์˜ ์›์†Œ๋“ค์„ ๊ฐ€์ ธ์˜ด list1.extend(list2) 3. insert # ์›ํ•˜๋Š” ์ธ๋ฑ์Šค ์œ„์น˜์— ๊ฐ’์„ ์‚ฝ์ž… list.i..

๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€