๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๐Ÿ”…๊ฐœ๋…์ •๋ฆฌ

๊ฒ€์ƒ‰๊ฒฐ๊ณผ 14 ๊ฐœ
[ํŒŒ์ด์ฌ/python] ์ •๋ ฌ - sort(), sorted()

ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํžˆ sort ๋˜๋Š” sorted ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. sort() ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ๋ฐ”๊พธ์–ด ๊ธฐ์กด์˜ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. sorted() ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด ์™ธ์˜ ๋”•์…”๋„ˆ๋ฆฌ ๊ฐ์ฒด ๋“ฑ ๋ชจ๋“  ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. sort์™€ sorted์˜ ์ฐจ์ด์ ์€ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์–ด๋””์— ์ €์žฅํ•˜๋Š๋ƒ์™€ ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€์ด๋‹ค. sort๋Š” ๊ธฐ์กด์˜ ๋ฆฌ์ŠคํŠธ์— ๋‹ค์‹œ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ ์ „ ๋ฆฌ์ŠคํŠธ๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ sorted๋Š” ์ •๋ ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ ์ „, ํ›„ ๋ฆฌ์ŠคํŠธ ๋ชจ๋‘ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ •๋ ฌ ํ•จ์ˆ˜๋Š” key ์ธ์ž๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. key์— ํ•จ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค..

[ํŒŒ์ด์ฌ/python] ์ด์ง„ ํƒ์ƒ‰ (Binary Search)

์ด์ง„ ํƒ์ƒ‰์ด๋ž€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ์›ํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฐ˜๋“œ์‹œ ์ •๋ ฌ๋œ ์ƒํƒœ์—์„œ ์‹œ์ž‘ํ•ด์•ผํ•˜๊ณ  ๋กœ๊ทธ์‹คํ–‰์‹œ๊ฐ„(O(log N))์„ ๋ณด์žฅํ•œ๋‹ค. target : ์ฐพ์„ ๊ฐ’ start : ์‹œ์ž‘ ์ธ๋ฑ์Šค end : ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค pivot : ์ค‘๊ฐ„ ์ธ๋ฑ์Šค ์œ„ 4๊ฐ€์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ์ค‘๊ฐ„ ์ธ๋ฑ์Šค pivot ๊ฐ’์ด ์ฐพ๊ณ ์žํ•˜๋Š” ๊ฐ’ target๊ณผ ๊ฐ™์€์ง€ ๋น„๊ตํ•˜๋ฉด์„œ ์ง„ํ–‰๋œ๋‹ค. ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด start ๊ฐ’๊ณผ end ๊ฐ’์„ ์ ์ ˆํžˆ ์กฐ์ ˆํ•˜์—ฌ pivot ๊ฐ’์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋‹ค์‹œ target๊ณผ ๋น„๊ตํ•œ๋‹ค. ์œ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค ๋ฒ”์œ„๊ฐ€ ๋ฐ˜์”ฉ ์ค„์–ด๋“ค๊ฒŒ๋˜๋ฏ€๋กœ logN์˜ ์‹œ๊ฐ„์„ ๊ฐ–๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆ˜ ์ค‘ target 8์„ ์ฐพ์œผ๋ ค ํ•œ๋‹ค. 1์„ start๋กœ 10์„ end๋กœ ์„ค์ •ํ•˜๊ณ  ๊ทธ ์ค‘๊ฐ„ ๊ฐ’์ธ 5๋ฅผ ..

[ํŒŒ์ด์ฌ/python] ๋”•์…”๋„ˆ๋ฆฌ (dictionary)

๋”•์…”๋„ˆ๋ฆฌ๋ž€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ์‚ฌ์ „์ด๋ž€ ๋œป์ฒ˜๋Ÿผ key์™€ value ํ•œ ์Œ์œผ๋กœ ๊ฐ–๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. {ํ‚ค1 : ๊ฐ’1, ํ‚ค2 : ๊ฐ’2, ํ‚ค3 : ๊ฐ’3 ...} ๋”•์…”๋„ˆ๋ฆฌ ํƒ€์ž…์˜ ๊ธฐ๋ณธ ๋ชจ์Šต์€ ์œ„์™€ ๊ฐ™์ด ํ‚ค์™€ ๊ฐ’์ด ์ง์„ ์ด๋ค„ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์—ฌ์žˆ๋‹ค. dic1 = {1:5, 2:4, 3:8} dic2 = {(1,2):5, (4,5):7} dic3 = {4.2:4, 'abcd':12, True:1} dic4 = {} ์œ„๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. dic1 - ๊ธฐ๋ณธ์ ์ธ ์ •์ˆ˜ํ˜• ํ‚ค์™€ ์ •์ˆ˜ํ˜• ๊ฐ’์„ ์„ ์–ธํ•œ๋‹ค. dic2 - tupleํ˜•ํƒœ์˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. dic3 - ์‹ค์ˆ˜ํ˜•, ๋ฌธ์žํ˜•, boolํ˜• ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒํ˜•์„ ํ•œ ๋”•์…”๋„ˆ๋ฆฌ์— ํ‚ค๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. dic4 -..

[ํŒŒ์ด์ฌ/python] ๋žŒ๋‹คํ•จ์ˆ˜ (lambda)

๋žŒ๋‹คํ•จ์ˆ˜(lambda)๋Š” ๋Ÿฐํƒ€์ž„์— ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ต๋ช… ํ•จ์ˆ˜๋กœ, ์“ฐ๊ณ  ๋ฒ„๋ฆฌ๋Š” ์ผ์‹œ์ ์ธ ํ•จ์ˆ˜์ด๋‹ค. ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์„ ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜์™€ ๊ฐ™์ด ์ •์˜ํ•ด๋‘๊ณ  ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ ๊ณณ์—์„œ ์ฆ‰์‹œ ์‚ฌ์šฉํ•˜๊ณ  ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋žŒ๋‹คํ•จ์ˆ˜๋Š” ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ฅผ ํ•œ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. lambda ์ธ์ž : ํ‘œํ˜„์‹ lambda๋Š” lambda ์ธ์ž : ํ‘œํ˜„์‹์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„๋„ ์—†๊ณ  return๋„ ํ•„์š”์—†๋‹ค. ๋žŒ๋‹คํ•จ์ˆ˜๊ฐ€ ์ด์šฉ๋˜๋Š” ๊ณณ์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” map(), reduce(), filter()๊ฐ€ ์žˆ๋‹ค. map() map(ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ) map(lambda x: x**2, range(5)) >>> 0 1 4 9 16 map์€ map(ํ•จ์ˆ˜, ๋ฆฌ์ŠคํŠธ)์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ•จ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด..

[ํŒŒ์ด์ฌ/python] ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

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