algorithm 3

[python] μˆœμ—΄κ³Ό μ‘°ν•©

μˆœμ—΄(permutation) - μˆœμ„œλ₯Ό κ³ λ €ν•œ 선택 - nPr둜 ν‘œμ‹œ import imertools arr = ['A', 'B', 'C'] perm = itertools.permutations(arr, 2) # 2개 선택 print(list(perm)) # [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')] μ‘°ν•©(combination) - μˆœμ„œλ₯Ό κ³ λ €ν•˜μ§€ μ•Šμ€ 선택 - nCr둜 ν‘œμ‹œ import itertools arr = ['A', 'B', 'C'] combi = itertools.combinations(arr, 2) print(list(combi)) # [('A', 'B'), ('A', 'C'), ('B', 'C')]

[python] bisect

bisect - bisect : νŒŒμ΄μ¬μ—μ„œ 이진탐색을 μ‰½κ²Œ κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ μ œκ³΅ν•˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬μ΄λ‹€. - μ •λ ¬λœ λ°°μ—΄μ—μ„œ νŠΉμ •ν•œ μ›μ†Œλ₯Ό μ°Ύμ•„μ•Όν•  λ•Œ 자주 μ‚¬μš©λœλ‹€. - bisect_left(), bisect_right() ν•¨μˆ˜κ°€ κ°€μž₯ μ€‘μš”ν•˜κ²Œ μ‚¬μš©λœλ‹€. bisect_left, bisect_right - bisect_left(list, n) : μ •λ ¬λœ μˆœμ„œλ₯Ό μœ μ§€ν•˜λ©° 리슀트 list에 데이터 n을 μ‚½μž…ν•  κ°€μž₯ μ™Όμͺ½ 인덱슀λ₯Ό μ°ΎλŠ”λ‹€. - bisect_right(list, n) : μ •λ ¬λœ μˆœμ„œλ₯Ό μœ μ§€ν•˜λ©° 리슀트 list에 데이터 n을 μ‚½μž…ν•  κ°€μž₯ 였λ₯Έμͺ½ 인덱슀λ₯Ό μ°ΎλŠ”λ‹€. - bisect_left(list, n, lo = 0, hi = len(list)) : lo와 hiλŠ” κ³ λ €ν•  리슀트의 뢀뢄집합을 μ§€μ •ν•˜λŠ” 데 사..

[Algorithm] START

μ•Œκ³ λ¦¬μ¦˜μ„ λ‹€μ‹œ μ‹œμž‘ν•˜λ©° ,, μš”μ¦˜ λ§Žμ€ κΈ°μ—…μ—μ„œ μ½”λ”© ν…ŒμŠ€νŠΈλŠ” ν•„μˆ˜κ°€ 된 것 κ°™λ‹€. 이전에 C++둜 μ•Œκ³ λ¦¬μ¦˜μ„ ν–ˆμ—ˆλŠ”λ° 카카였, 넀이버와 같은 기업을 Javaλ₯Ό 많이 μ‚¬μš©ν•œλ‹€. 그에 따라 μ•Œκ³ λ¦¬μ¦˜μ„ Java둜 ν• κΉŒ ν•˜λ‹€κ°€,, μ•Œκ³ λ¦¬μ¦˜μ„ Java둜 ν•˜κΈ°μ—” μ’€ μ–΄λ €μš΄ 감이 μžˆμ„ 것 κ°™λ‹€. κ·Έλž˜μ„œ Python으둜 μ•Œκ³ λ¦¬μ¦˜μ„ ν•˜κΈ°λ‘œ κ²°μ •ν–ˆλ‹€. Python 곡뢀 μ‹œμž‘ λŒ€ν•™κ΅ λ•Œ λΉ„μ „κ³΅μžλ₯Ό λŒ€μƒμœΌλ‘œ νŒŒμ΄μ¬μ„ κ°€λ₯΄μΉœ 적이 μžˆμ—ˆλŠ”λ°, λ„ˆλ¬΄ μ˜€λž˜λΌμ„œ λ‹€ κΉŒλ¨Ήμ€ 것 κ°™λ‹€. λ§Žμ€ 무료 κ°•μ˜κ°€ μžˆμ–΄ 그쀑 ν•˜λ‚˜λ₯Ό 선택해 μš°μ„  기초λ₯Ό κ³΅λΆ€ν•˜κΈ°λ‘œ ν–ˆλ‹€. 2~3일 λ™μ•ˆ 파이썬 곡뢀λ₯Ό ν•˜κ³ , μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό ν’€ μ˜ˆμ •μ΄λ‹€. 파이썬 기초λ₯Ό 곡뢀할 μ‚¬μ΄νŠΈ https://programmers.co.kr/learn/courses/2 파이썬 ..