[Python] 이진 탐색 라이브러리 bisect
알고리즘 문제를 풀다 보면 이진 탐색을 사용해야할 때가 많다.다른 언어에서는 다음과 같이 직접 반복문을 만들어, 이진 탐색 알고리즘을 구현한다def bisect(a, x, lo=0, hi=None): if lo 파이썬에서는 bisect.bisect 메소드를 사용하면 훨씬 간단하게 코드를 짤 수 있다. biset_left(a, x): 정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 왼쪽 인덱스를 반환 ( C++의 lower_bound와 동일)bisect_right(a, x): 정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 오른쪽 인덱스를 반환 (C++의 upper_bound와 동일) from bisect import bisect_left, bisect_righta = [1, 2, 4, ..
[Python] for문 사용해서 list 원소 값 변경하는 방법
가능 def solution(s, n): s = ["A", "b", "C", "d"] for i in range(len(s)): if s[i].isupper(): s[i]= s[i].lower() print(s) # ["a", "b", "c", "d"] 불가능 def solution(s, n): s = ["A", "b", "C", "d"] for c in range(s): if c.isupper(): c = c.lower() print(s) # ["A", "b", "C", "d"] for문을 이용해서 c로 s의 원소를 하나씩 복사해 넣는다. 즉, 주소(객체)가 전달된 것이 아니고 값만이 복사되어 전달된 것이므로, 이 방법으로는 값을 변경할 수 없다. 참고: https://hashcode.co.kr/que..