Program_Language/Python
[Python Algorithm Interview] 03. 리스트, 딕셔너리
리스트, 딕셔너리 리스트 C++에서는 std::vector, JAVA에서는 ArrayList에 해당합니다. 파이썬에서 리스트의 마지막 요소의 .append(), pop()에 대해서는 O(1)의 시간 복잡도를 갖습니다. 반면, 첫 번째 요소를 추출하는 pop(0)은 O(1)의 시간 복잡도라고 생각할 수 있으나, O(n)의 시간 복잡도를 갖습니다. 이 경우, Deque와 같은 자료형을 사용하여 성능을 높일 수 있습니다. 리스트의 주요 연산 시간 복잡도 연산 시간 복잡도 비고 len(a) O(1) a[i] O(1) a[i:j] O(k) i부터 j까지 슬라이싱한 길이인 k만큼 element in a O(n) 순차 탐색이라 n만큼 시간 소요 a.count(element) O(n) a.index(element) O..
[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(..
공공데이터를 활용한 제주도 AED 설치위치 지도 표시
공공데이터를 활용한 제주도 AED 설치위치 지도 표시 필요 모듈 설치 및 가져오기 !pip install folium !pip install requests !pip install python-dotenv import requests # 요청 모듈 - 설치 필요 import json, xmltodict # 형식 모듈 import pandas as pd # 데이터프레임(엑셀과 유사) 모듈 import folium # 지도 모듈 - 설치 필요 import time #시간 모듈 import os, dotenv dotenv.load_dotenv() Requirement already satisfied: folium in k:\programdata\anaconda3\lib\site-packages (0.12.1...
[Python 기초] 07_딕셔너리
딕셔너리 표현식 {key1:velue1, k2:v2, …} 딕셔너리 선언 {'name':['k','y','h']}와 같이 list도 넣을 수 있다. 딕셔너리 value 추가 딕셔너리 value 출력 딕셔너리 value 삭제
[Python 기초] 06_함수
함수 표현식 def 함수명 (입력 인수): 문장 문장 return 2개의 정수 base, n을 입력받아 base의 n제곱만큼 값을 반환하는 powerN() 2 개의 정수와 연산자(+, -)를 입력 받아 연산 가능한 cal 함수 만들기 2 개의 정수와 연산자(+, -)를 입력 받아 연산 가능한 cal 함수 만들기 여러 개의 데이터를 받아서 처리하는 함수 입력 인수에 초기값 미리 설정하기(파이썬에서 가능)
[Python 기초] 05_조건문과 반복문
1. 조건문 표현식 (if condition : expression expression …) {elif condition : expression expression …} [else : expression expression …] 2. 반복문 1) While 문 - 끝이 정해져 있지 않을 때 표현식 while condition : statement1 statement2 … 2) for 문 - 끝이 정해져 있을 때 for 변수 in range(시작값, 종료값, 증가): statement1 statement2 range - 시작값부터 종료값까지 증가값 또는 감소값만큼 증가 또는 감소하는 배열을 반환하는 함수
[Python 기초] 04_리스트
자료형 표현 리스트 [] 튜플 () 틱셔너리 {} 집합 set() 리스트 안에는 다른 타입이 들어갈 수 있다. Tuple - Read Only 인텍싱/슬라이싱 가능 튜플 값 삭제/ 변경 불가 인덱스가 리스트 사이즈를 초과시 가장 뒷쪽에 추가된다.
[Python 기초] 03_연산
연산자 1. 산술연산자 + - * / // % 숫자와 문자 덧셈은 에러 문자와 숫자를 곱하면 그 숫자만큼의 문자가 출력된다. 지수 연산자 ** 2. 대입연산자 = 복합 대입연산자 : +=, -=, *=, /=, %=, &=, … swap 3. 비교 연산자 True / False 4. 논리 연산자 and, or, not 연산 5. 삼항 연산자 a if condition else b c언어에서 a>b?a:b 는 파이썬에서 a if a>b else b