Algorithm

    [Python Algorithm Interview] 02. 빅오, 자료형

    빅오, 자료형 빅오 빅오는 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법 빅오 표기법의 종류 O(1) 실행 시간 일정한 최고의 알고리즘 O(log n) 로그는 매우 큰 입력값에도 크게 영향을 받지 않는 편 대표적으로 이진 검색 O(n) 입력값과 수행 시간이 비례 이 시간복잡도를 가지는 알고리즘을 선형 시간 알고리즘이라고 함 정렬되지 않은 리스트에서 최댓값 또는 최솟값을 찾는 경우에 해당 O(n log n) 병합 정렬을 비롯한 대부분의 효율 좋은 정렬 알고리즘에 해당 모든 수에 대해 한 번 이상은 비교해야 하는 비교 기반 정렬 알고리즘의 최선의 시간 복잡도 Timesor와 같이 모든 비교를 건너뛸 경우, O(n) 이 될 수 있음 O(n^2) 버블 정렬과 같은 비효율적인 정렬 알고리즘에 ..

    [Python Algorithm Interview] 01. 파이썬 언어

    파이썬 언어 파이썬은 독립적인 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어입니다. 파이썬 특징 Indent 코드를 여러 줄로 나눠서 쓰는 경우 다음 행과 구분되도록 공백 4칸의 Indent를 추가합니다. Naming Convention 파이썬은 자바와 달리 각 단어를 밑줄(_)로 구분하여 표기하는 Snake Case를 사용합니다. List Comprehension 파이썬의 기존 리스트를 기반으로 새로운 리스르를 만들어내는 구문입니다. result = [n * n for i in range(1, 100) if n % 2 == 0] Generator 제너레이터(Generator)는 루프의 반복 동작을 제어할 수 있는 루틴의 형태입니다. 필요할 때 언제든 값을 생성할 수 있으며, yield와 next(..