Language/Python 6

[ํŒŒ์ด์ฌ] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€ ํŠน์ •ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์˜จ๋ผ์ธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์ž์ฃผ ์“ฐ์ด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๊ณต๋ถ€ํ•ด ๋†“๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด์žฅ ํ•จ์ˆ˜ - print(), input() ๋“ฑ์˜ ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ๊ณผ sorted() ๊ฐ™์€ ์ •๋ ฌ ๊ธฐ๋Šฅ ์™ธ ๊ธฐํƒ€ ๋“ฑ๋“ฑ itertools - ๋ฐ˜๋ณต๋˜๋Š” ํ˜•ํƒœ(iterable)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ˆœ์—ด, ์กฐํ•ฉ ๋“ฑ์˜ ๊ธฐ๋Šฅ ์ œ๊ณต heapq - ํž™(heap) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„ ํ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ bisect - ์ด์ง„ ํƒ์ƒ‰(binary search) ๊ธฐ๋Šฅ ์ œ๊ณต collections - deque, Counter ๋“ฑ์˜ ์œ ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ œ๊ณต ma..

Language/Python 2021.06.28

[Python / ํŒŒ์ด์ฌ] map() ํ•จ์ˆ˜ - ๊ณต๋ฐฑ ์—†์ด ์ž…๋ ฅ ๋ฐ›๊ธฐ

1. ๊ณต๋ฐฑ ์—†์ด ์ž…๋ ฅ๋ฐ›๊ธฐ input()์€ ํ•œ ์ค„์˜ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜ map()์€ ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์›์†Œ์— ๊ฐ๊ฐ ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด์ฃผ๋Š” ํ•จ์ˆ˜ ์˜ˆ์‹œ) ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ •์ˆ˜ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ list(map(int, input().split())) ์˜ˆ์‹œ) ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ 3๊ฐœ์ผ ๊ฒฝ์šฐ a, b, c = map(int, input().split()) 2. ๋ฆฌ์ŠคํŠธ์— map() ์‚ฌ์šฉํ•˜๊ธฐ a = [1.1, 2.2, 3.3, 4.4]์™€ ๊ฐ™์€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ์„ ๋•Œ a = list(map(int, a))๋ฅผ ํ†ตํ•ด ํ•œ ์ค„๋กœ a์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ ์˜ˆ์‹œ) 0๋ถ€ํ„ฐ 9๊นŒ์ง€ '๋ฌธ์ž์—ด' ํ˜•ํƒœ๋กœ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•˜๊ธฐ a = list(map(str, range(10))) #['0', '1', '2', '..

Language/Python 2021.03.05

[Python / ํŒŒ์ด์ฌ] ์ง‘ํ•ฉ(set) ์ž๋ฃŒํ˜• ์ •๋ฆฌ

1. ์ง‘ํ•ฉ ์ž๋ฃŒํ˜•์˜ ํŠน์ง• ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค ์ˆœ์„œ๊ฐ€ ์—†๋‹ค(Unordered) ๋”ฐ๋ผ์„œ ์ฃผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ํ•„ํ„ฐ๋‚˜ ์–ด๋–ค ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋งŒ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ž„ 2. ์ง‘ํ•ฉ ์ž๋ฃŒํ˜• ์ดˆ๊ธฐํ™” ๋น„์–ด ์žˆ๋Š” ์ง‘ํ•ฉ s = set() ์›์†Œ๊ฐ€ ์žˆ๋Š” ์ง‘ํ•ฉ s = {1, 2, 3, 4} ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ์ดˆ๊ธฐํ™” s = set([1, 2, 3]) ๋ฌธ์ž์—ด์„ ์ด์šฉํ•œ ์ดˆ๊ธฐํ™” s = set("Hello") # {'e', 'H', 'l', 'o'} 3. ๊ต์ง‘ํ•ฉ, ํ•ฉ์ง‘ํ•ฉ ์ฐจ์ง‘ํ•ฉ ๊ต์ง‘ํ•ฉ s1 & s2 ๋˜๋Š” s1.intersection(s2) ํ•ฉ์ง‘ํ•ฉ s1 | s2 ๋˜๋Š” s1.union(s2) ์ฐจ์ง‘ํ•ฉ s1 - s1 ๋˜๋Š” s1.difference(s2) 4. ์ง‘ํ•ฉ ์ž๋ฃŒํ˜• ๊ด€๋ จ ํ•จ์ˆ˜ ๊ฐ’ 1๊ฐœ ์ถ”๊ฐ€ํ•˜๊ธฐ(add) - s.add(x)..

Language/Python 2021.03.05

[Python / ํŒŒ์ด์ฌ] ๋”•์…”๋„ˆ๋ฆฌ(dictionary) ์ž๋ฃŒํ˜• ์ •๋ฆฌ

1. ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜• ํ‚ค(Key)์™€ ๊ฐ’(Value)์˜ ์Œ์„ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€์ง€๋Š” ์ž๋ฃŒํ˜• ๋‹ค๋ฅธ ์–ธ์–ด์˜ ์—ฐ๊ด€ ๋ฐฐ์—ด(Associative array) ๋˜๋Š” ํ•ด์‹œ(Hash)์™€ ์œ ์‚ฌ ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ ์›์†Œ ๊ฐ’์„ ๊ตฌํ•˜์ง€ ์•Š๊ณ  Key๋ฅผ ํ†ตํ•ด Value๋ฅผ ๊ตฌํ•จ ๋”ฐ๋ผ์„œ '๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ(immutable) ์ž๋ฃŒํ˜•'๋งŒ key๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ์˜ˆ์‹œ) { Key1:Value1, Key2:Value2, Key3:Value3 } 2. ๋”•์…”๋„ˆ๋ฆฌ ์ดˆ๊ธฐํ™”(์„ ์–ธ) Key : Value ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ดˆ๊ธฐํ™” - d = { 'name':'Tom', 'phone':'01012341234', 'birth':'1225' } ๋ฐ์ดํ„ฐ ์—†์ด ์ดˆ๊ธฐํ™” - d = dict() ๋งŒ์•ฝ ์ค‘๋ณต๋˜๋Š” Key ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ํ•˜๋‚˜๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ฒƒ๋“ค์€ ๋ชจ๋‘ ๋ฌด์‹œ..

Language/Python 2021.03.05

[Python/ํŒŒ์ด์ฌ] ๋ฌธ์ž์—ด(String) ์ž๋ฃŒํ˜• ์ •๋ฆฌ - ๋ฌธ์ž ๊ฐœ์ˆ˜ ์„ธ๊ธฐ, ํŠน์ • ๋ฌธ์ž ์œ„์น˜, ๊ณต๋ฐฑ ์ง€์šฐ๊ธฐ ๋“ฑ

1. ๋ฌธ์ž์—ด ์ดˆ๊ธฐํ™”(์„ ์–ธ) ํฐ๋”ฐ์˜ดํ‘œ ์ด์šฉ s = "Hello World" ๋˜๋Š” s = """Hello World""" ์ž‘์€๋”ฐ์˜ดํ‘œ ์ด์šฉ s = 'Hello World' ๋˜๋Š” s = '''Hello World''' ๋ฌธ์ž์—ด ์•ˆ์— ์ž‘์€๋”ฐ์˜ดํ‘œ(') ๋˜๋Š” ํฐ๋”ฐ์˜ดํ‘œ(") ๋ฅผ ํฌํ•จํ•  ๋•Œ๋Š” ๋‹ค๋ฅธ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋จ s = "I'm a student" #๋ฌธ์ž์—ด ๋‚ด์˜ '๋Š” ๋ฌธ์ž๋กœ ์ธ์‹๋จ ๋˜๋Š” ๋ฐฑ์Šฌ๋ž˜์‹œ(\)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Œ(์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ) s = "I\'m a student" 2. ๋ฌธ์ž์—ด ์—ฐ์‚ฐ ๋ฌธ์ž์—ด ๋”ํ•ด์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ(Concatenation) - a = "Hello", b = " World" ์ผ ๊ฒฝ์šฐ - a + b ๋Š” "Hello World"๋ฅผ ๋ฐ˜ํ™˜ ๋ฌธ์ž์—ด ๊ณฑํ•˜๊ธฐ - a = "Hello"์ผ ๊ฒฝ์šฐ - a * 2 ๋Š” ..

Language/Python 2021.03.05

[Python/ํŒŒ์ด์ฌ] list(๋ฆฌ์ŠคํŠธ) ์ž๋ฃŒํ˜• ์ •๋ฆฌ

1. ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜• ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์œผ๋กœ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒํ˜• C, JAVA์˜ ๋ฐฐ์—ด(Array)๋‚˜ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์™€ ์œ ์‚ฌ C++์˜ STL vector์™€ ๊ธฐ๋Šฅ์ด ์œ ์‚ฌ 2. ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™”(์„ ์–ธ) ์›์†Œ์™€ ํ•จ๊ป˜ ์ดˆ๊ธฐํ™” a = [1, 2, 3] ๋น„์–ด์žˆ๋Š” ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™” a = [] ๋˜๋Š” a = list() 0์ด n๊ฐœ์ธ ๋ฆฌ์ŠคํŠธ ์ดˆ๊ธฐํ™” a = [0] * n ๋ฆฌ์ŠคํŠธ ์›์†Œ ์ ‘๊ทผ -> index ์ด์šฉ(์ฃผ์˜: index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘) print(a[2]) 3. ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ(Slicing) a[start:end] ๋ฆฌ์ŠคํŠธ a์—์„œ start๋ถ€ํ„ฐ end ๋ฐ”๋กœ ์ „ ์›์†Œ๊นŒ์ง€๋ฅผ ๋ฐ˜ํ™˜ ์ฆ‰ (end - start)๊ฐœ์˜ ์›์†Œ ๋ฐ˜ํ™˜ ์˜ˆ์‹œ) a = [7, 4, 5, 7, 2, 8, 10]์ผ ๊ฒฝ์šฐ a[1:4]๋Š” [4, 5, 7] ..

Language/Python 2021.03.05