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

Skill Up๐Ÿ”ฅ/Python5

input(), sys.stdin.readline ์ •๋ฆฌ Python์—์„œ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์€ input()ํ•จ์ˆ˜์™€ sys ๋ชจ๋“ˆ์„ importํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•(sys.stdin.readline())์ด ์žˆ๋‹ค. ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋”ฉ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์ž…๋ ฅ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ๋Š” input๋ณด๋‹ค sys.stdin.readline์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„์ ์œผ๋กœ ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ๋‹ค๋“ค ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์™ ๋งŒํ•œ ์ฝ”๋”ฉ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ sys.stdin.readline๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์–ด๋А๋‚ , ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ input()๊ณผ sys.stdin.readline()์˜ ์ฐจ์ด์ ์ธ ๊ฐœํ–‰ ๋ฌธ์ž ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•œ ์ƒํƒœ์—์„œ ์‚ฌ์šฉ์„ ํ•˜๋‹ค๊ฐ€ ํ•ด๋งจ์ ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ๊ธฐํšŒ์— ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. input() prompt ์ธ์ž๊ฐ€ ์žˆ์œผ๋ฉด, ๊ฐœํ–‰์—†์ด ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ๊ธฐ๋ก๋œ๋‹ค. input() ์œผ๋กœ ๋ถ€ํ„ฐ.. 2022. 10. 31.
join ํ•จ์ˆ˜ ์ •๋ฆฌ(๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ) join ํ•จ์ˆ˜ join ํ•จ์ˆ˜๋Š” ํŒŒ์ด์ฌ์—์„œ ๋ชจ๋“  ๋ฐ˜๋ณต ์ž๋ฃŒํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ํ•ฉ์น˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด์—, ๋ฌธ์ž์—ด ๊ด€๋ จ ๋ฌธ์ œ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. join ํ•จ์ˆ˜์˜ ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. '๊ตฌ๋ถ„์ž'.join(๋ฆฌ์ŠคํŠธ) ๊ตฌ๋ถ„์ž ์„ค์ •์— ๋”ฐ๋ผ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ฉ์น˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. join ํ•จ์ˆ˜ ์˜ˆ์ œ 1. ๊ตฌ๋ถ„์ž์— ๋นˆ ๊ฐ’์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ data = ['A', 'B', 'C', 'D', 'E'] data_join = ''.join(data) print(data_join) [๊ฒฐ๊ณผ] ABCDE 2. ๊ตฌ๋ถ„์ž์— "," ๊ตฌ๋ถ„์ž๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ data = ['A', 'B', 'C', 'D', 'E'] data_join = ','.join(data) print(data_join) [๊ฒฐ๊ณผ] A,B,C,D,E 3... 2022. 10. 6.
defaultdict ์ •๋ฆฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ๋‹ค๋ฅธ๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒŒ๋˜์—ˆ๊ณ  defaultdict๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๊ถ๊ธˆํ•˜์—ฌ ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. python์˜ collections ๋ชจ๋“ˆ์—๋Š” defaultdict๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. defaultdict๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•œ ๋”•์…”๋„ˆ๋ฆฌ์ธ๋ฐ ๊ธฐ๋ณธ ๋”•์…”๋„ˆ๋ฆฌ์™€ ์–ด๋– ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž. defaultdict()๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” dictํด๋ž˜์Šค์˜ ์„œ๋ธŒํด๋ž˜์Šค์ด๋‹ค. ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์€ ๊ธฐ๋ณธ ๋”•์…”๋„ˆ๋ฆฌ์™€ ๊ฑฐ์˜ ๋™์ผํ•œ๋ฐ defaultdict()๋Š” ์ธ์ž๋กœ ์ฃผ์–ด์ง„ ๊ฐ์ฒด(default-factory)์˜ ๊ธฐ๋ณธ๊ฐ’์„ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ’์˜ ์ดˆ๊นƒ๊ฐ’์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. -> ์ด๊ฒŒ ๋ฌด์Šจ๋ง์ด๋ƒ๋ฉด ์ผ๋ฐ˜์ ์ธ ๋”•์…”๋„ˆ๋ฆฌ์˜ ๊ฒฝ์šฐ ๋ฏธ๋ฆฌ ์‚ฝ์ž…ํ•˜์ง€ ์•Š์€ key๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. >>> n_d.. 2022. 5. 3.
๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜• ์ •๋ฆฌ ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋“ ์ง€ "์ด๋ฆ„" = "ํ™๊ธธ๋™", "์ƒ์ผ" = "๋ช‡ ์›” ๋ฉฐ์น " ๋“ฑ์œผ๋กœ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ด์ฌ์€ ์˜๋ฆฌํ•˜๊ฒŒ๋„ ์ด๋Ÿฌํ•œ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์š”์ฆ˜ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋„ ์ด๋Ÿฌํ•œ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒํ˜•์„ ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ์—ฐ๊ด€ ๋ฐฐ์—ด(Associative array) ๋˜๋Š” ํ•ด์‹œ(Hash)๋ผ๊ณ  ํ•œ๋‹ค. ํŒŒ์ด์ฌ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์ž๋ฃŒํ˜•์„ ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋‹จ์–ด ๊ทธ๋Œ€๋กœ ํ•ด์„ํ•˜๋ฉด ์‚ฌ์ „์ด๋ผ๋Š” ๋œป์ด๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋Š” Key์™€ Value๋ฅผ ํ•œ ์Œ์œผ๋กœ ๊ฐ–๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋Š” ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ(sequential) ํ•ด๋‹น ์š”์†Ÿ๊ฐ’์„ ๊ตฌํ•˜์ง€ ์•Š๊ณ  Key๋ฅผ ํ†ตํ•ด Value๋ฅผ ์–ป๋Š”๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๋‹จ์–ด์˜ ๋œป์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์ „์˜ ๋‚ด.. 2022. 5. 3.
Python ์ •๋ ฌ ํ•จ์ˆ˜ sort,sorted ์ •๋ฆฌ 1. sort ์›๋ณธ์„ ๋ณ€ํ˜•์‹œ์ผœ ์ •๋ ฌํ•˜๋ฉฐ '๋ณ€์ˆ˜.sort()'ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ, ๊ฐ€๋‚˜๋‹ค์ˆœ์ด๊ณ  ์ˆซ์ž๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค. num_list = [10,20,15,50,22] num_list.sort() print(num_list) >>> [10, 15, 20, 22, 50] str_list = ['a','d','e','b','c'] str_list.sort() print(str_list) >>> ['a', 'b', 'c', 'd', 'e'] 2. sorted ์›๋ณธ์„ ๋ณ€ํ˜•์‹œํ‚ค์ง€ ์•Š๊ณ  ์ •๋ ฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ด„ํ˜ธ()์•ˆ์—๋Š” iterableํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ ์•ž์„  sort์™€ ๋™์ผํ•˜๋‹ค. print(sorted([10,20,15,50,22])) >>> [10, .. 2022. 3. 7.