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

์ „์ฒด๋ณด๊ธฐ114

ํŒŒ์ด์ฌ ์ž…์ถœ๋ ฅ(ํ‘œ์ค€, ํŒŒ์ผ ๋“ฑ)์˜ ๋ชจ๋“  ๊ฒƒ ๋“ค์–ด๊ฐ€๋ฉฐ ์ž…์ถœ๋ ฅ์˜ ์ข…๋ฅ˜ ๋ฐ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ, ํŒŒ์ผ ์ž…์ถœ๋ ฅ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์„ค๋ช…์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. [C++] 13-1. ์ž…์ถœ๋ ฅ(feat. ํ‘œ์ค€์ž…์ถœ๋ ฅ๊ณผ ํŒŒ์ผ์ž…์ถœ๋ ฅ) โœ… ์ŠคํŠธ๋ฆผ ์ŠคํŠธ๋ฆผ์€ ํ•˜๋‚˜์˜ ํ๋ฆ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ˆ˜๋„๊ผญ์ง€๋ฅผ ํ‹€์–ด๋†“๊ณ  ๋„ค๋ชจ๋‚œ ํ˜ธ์Šค๋ฅผ ๋ผ์šฐ๋ฉด ๋ฌผ์ด ๋„ค๋ชจ ๋ชจ์–‘์œผ๋กœ ๋‚˜์˜ค๊ณ , ๋™๊ทธ๋ž€ ํ˜ธ์Šค๋ฅผ ๋ผ์šฐ๋ฉด ๋™๊ทธ๋ž—๊ฒŒ ๋‚˜์˜จ๋‹ค. ์šด์˜์ฒด์ œ๊ฐ€ ๋ฌผ์„ ๊ณต๊ธ‰ ground90.tistory.com ํ‘œ์ค€ ์ž…์ถœ๋ ฅ input >>>> a = input("์ž…๋ ฅํ•˜์„ธ์š”: ") # ์ž…๋ ฅ ์ž…๋ ฅํ•˜์„ธ์š”: abc >>>> print(a) 'abc' output # ํฐ๋”ฐ์˜ดํ‘œ ์—ฌ๋Ÿฌ๊ฐœ print >>>> print("Let" "it" "be") 'Letitbe' >>>> print("Let"+"it"+"be") 'Letit.. 2023. 12. 5.
ํŒŒ์ด์ฌ ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)์˜ ๋ชจ๋“  ๊ฒƒ ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ํŒŒ์ด์ฌ ๋”•์…”๋„ˆ๋ฆฌ๋Š” Key, Value ํ•œ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ • Key๋ฅผ ํ†ตํ•ด Value๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—ฐ๊ด€ ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ์€ ์‹œํ€€์Šค ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ํ•ด์‹œํ…Œ์ด๋ธ”(Hash Table)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰์ด ๋งค์šฐ ๋น ๋ฅธ ํŽธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ํŠน์ง•์€ Key์˜ ๊ณ ์œ ์„ฑ์ž…๋‹ˆ๋‹ค. Key๋Š” ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Key์— ํŠœํ”Œ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ(immutable), ๋ฆฌ์ŠคํŠธ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(mutable). ๊ธฐ๋ณธ dic = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'} .. 2023. 12. 4.
ํŒŒ์ด์ฌ ํŠœํ”Œ์˜ ๋ชจ๋“  ๊ฒƒ ๋“ค์–ด๊ฐ€๋ฉฐ ํŠœํ”Œ์„ ๋‹ค๋ฃจ๊ธฐ ์ „ ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ(list)์˜ ๋ชจ๋“  ๊ฒƒ ํฌ์ŠคํŒ…์„ ๋ณด์‹œ๋ฉด ๋”์šฑ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ํŠœํ”Œ์€ ๊ฐ’์˜ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ ๋งŒ ์ œ์™ธํ•˜๋ฉด ๋ฆฌ์ŠคํŠธ์™€ ์™„์ „ํžˆ ๋™์ผํ•˜๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠœํ”Œ ๋‹ค๋ฃจ๊ธฐ # ์ธ๋ฑ์‹ฑ t = (1, 2, 'a', 'b') t[0] # 1 t[3] # 'b' # ์Šฌ๋ผ์ด์‹ฑ t[1:] # (2, 'a', 'b') p = (3, 4) # ๋”ํ•˜๊ธฐ t + p # (1, 2, 'a', 'b', 3, 4) # ๊ณฑํ•˜๊ธฐ p * 3 # (3, 4, 3, 4, 3, 4) # ๊ธธ์ด ๊ตฌํ•˜๊ธฐ len(t) # 4 # ํŠน์ • ๊ฐ’ ํฌํ•จ ์—ฌ๋ถ€ if 1 in t: print("1 is in the t") # ํŠน์ • ๊ฐ’ ํ™•์ธ t.count(1) # 1(1๊ฐœ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—) # ๊ด„ํ˜ธ ์ƒ๋žต .. 2023. 12. 3.
ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ(list)์˜ ๋ชจ๋“  ๊ฒƒ ๋ฆฌ์ŠคํŠธ(list) ๋ฆฌ์ŠคํŠธ๋Š” ์ธ๋ฑ์Šค ๋ฐฉ์‹์˜ ์ˆœ์ฐจ ๋ฐฐ์—ด ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ผ๋ ฌ๋กœ(linear) ๋ฐฐ์น˜๊ฐ€ ๋˜๋ฉฐ ๋ฆฌ์ŠคํŠธ ๋‚ด ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝ(mutable)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ ๋‚ด ์—ฌ๋Ÿฌ ํƒ€์ž…(type)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด์‹ฑ a = [1,2,3,4,5] a[0:2] # [1,2] -> [0:2]๋ฉด ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ 1๊นŒ์ง€(2๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ) a[a:2] # [1,2] a[2:] # [3,4,5] ์—ฐ์‚ฐ a = [1,2,3] b = [5,6,7] a+b # [1,2,3,5,6,7] a*3 # [1,2,3,1,2,3,1,2,3] -> ๋ฆฌ์ŠคํŠธ ๋ฐ˜๋ณต len(a) # 3 -> ๋ฆฌ์ŠคํŠธ ๊ธธ์ด del a[1] # [1,3] -> ํŠน์ดํ•œ ์ ์€ delํ•จ์ˆ˜์ธ๋ฐ ์„ ์–ธ๋ฐฉ์‹์œผ๋กœ ์“ฐ๋„ค.. ํ•จ์ˆ˜ ์š”์†Œ ์ถ”๊ฐ€(ap.. 2023. 12. 2.
ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด(string)์˜ ๋ชจ๋“  ๊ฒƒ ๋ฌธ์ž์—ด์€ Immutable ํŒŒ์ด์ฌ์—์„œ ๋ฌธ์ž์—ด์€ immutable์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜•์€ ๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ๋ฌธ์ž์—ด์ด ํ• ๋‹น๋˜๋ฉด ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ณ , ์น˜ํ™˜์˜ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด a = 'All you need is love' ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ 'All you need is love'๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๋ฐ•์ œ(?)๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— a[0] = 'B' ์™€ ๊ฐ™์€ ๋™์ž‘์€ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. b = 'B' + a[1:] ๋กœ ์ฒซ ๊ธ€์ž 'A'๋ฅผ 'B'๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์€ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค๋Š” ์ ๋งŒ ๊ธฐ์–ตํ•ด์ฃผ์„ธ์š”! ์ธ๋ฑ์‹ฑ a = "Life is too short" a[3] # 'e' a[-1] # 't' a[3] = 'f' # ์—๋Ÿฌ, ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ ์Šฌ๋ผ์ด์‹ฑ a = ".. 2023. 12. 1.
ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ ˆ์ž„ ํ• ๋‹น ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)์™€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•(Paging) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ๊ธฐ๋ณธ์ ์ธ ์›๋ฆฌ์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™”์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Memory Allocation) ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜ ground90.tistory.com ์š”๊ตฌ ํŽ˜์ด์ง• ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ํ”„๋กœ์„ธ์Šค๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ณ  ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํŽ˜์ด์ง€ ๊ต์ฒด๋Š” ํŽ˜์ด์ง€ ์ธ/์•„์›ƒ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹คํ–‰.. 2023. 11. 11.