๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Map2

ํŒŒ์ด์ฌ map, filter ํ•จ์ˆ˜(with. iterator) iterator(๋ฐ˜๋ณต์ž) ํŒŒ์ด์ฌ์—์„œ iterator(๋ฐ˜๋ณต์ž)๋Š” ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. Iterator๋Š” __iter__์™€ __next__ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฐ์ฒด๋กœ, __iter__๋Š” ์ž๊ธฐ ์ž์‹ ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , __next__๋Š” ๋‹ค์Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๋” ์ด์ƒ ๋ฐ˜ํ™˜ํ•  ๊ฐ’์ด ์—†์„ ๋•Œ StopIteration ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์ˆœํšŒ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ„๋‹จํ•œ iterator๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค class MyIterator: def __init__(self, start, end): self.start = start self.end = end def __iter__(self): return self def __next__(self): if self.start >= self.end: rai.. 2023. 12. 17.
[C++] 18. Standard Library ์ •๋ณตํ•˜๊ธฐ(STL) STL์ด๋ž€? C++ STL(Standard Template Library)์€ C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ, ์—ฌ๋Ÿฌ ์œ ์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•˜๋Š” ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. STL์€ C++ ํ‘œ์ค€์ด๋ฏ€๋กœ C++ ์–ธ์–ด์— ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋งŽ์€ C++ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. STL์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” 'ํ…œํ”Œ๋ฆฟ(Template)'์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋„ค๋ฆญ(generic)ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„๋œ STL ์ปจํ…Œ์ด๋„ˆ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠน์ • ์ž๋ฃŒํ˜•์— ์ข…์†๋˜์ง€ ์•Š๊ณ , ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์ผ๋ฐ˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. STL์€ ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. 1. ์ปจํ…Œ์ด๋„ˆ (Conta.. 2023. 8. 6.