Programming/Python
-
[Python] DequeProgramming/Python 2023. 6. 3. 15:55
list를 이용해서 queue처럼 사용할 수 있습니다. queue = [1, 2, 3] queue.append(4) #[1, 2, 3, 4] queue.pop(0) #[2, 3, 4] queue.insert(0, 5) #[5, 2, 3, 4] 하지만 list를 queue처럼 사용하는 것은 성능 측면에서 추천되지 않습니다. list는 Random Access에 최적화된 자료구조이기 때문에 pop(0), insert(0, x)는 성능적으로 매우 불리한 연산입니다. 이 연산의 시간 복잡도는 O(n)입니다. Deque collections 모듈의 deque를 사용해서 queue, stack 자료구조를 구현할 수 있습니다. collections에 queue도 있지만 Deque가 훨씬 빠르니 코딩테스트에서는 Deq..
-
[Python] 리스트 컴프리헨션 List ComprehensionProgramming/Python 2023. 6. 3. 13:36
List Comprehension 리스트 안에 표현식(계산식)과 for문, if문을 한줄에 넣어서 새로운 리스트를 만드는 것입니다. 여기서 리스트는 list, tuple, dictionary, set 등 컨테이너 모두 해당합니다. 또한 표현식에 수식 뿐만 아니라 함수도 사용 가능합니다. Example 리스트 생성 [ x for x in range(1, 10+1)] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [ 2*x for x in range(1, 10+1)] #[2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 조건 걸기 [ x for x in range(1, 10+1) if x % 2 == 0] #[2, 4, 6, 8, 10] [ x for x in range(10) i..
-
[python] poetry install , 설정Programming/Python 2023. 4. 28. 09:55
install poetry Linux, MaxOS, Windows(WSL) curl -sSL https://install.python-poetry.org | python3 - 블로그에 복사 방지를 해놔서 명령어를 txt에 파일에 적어서 첨부했습니다~ Windows (Powershell) (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - 저는 윈도우를 사용중인데 Powershell 명령어를 사용해서 설치했습니다. poetry 설치 경로 - Unix $HOME/.local/bin - Windows %APPDATA%\Python\Scripts 환경 변수 추가 다운로드 받은 poetry를 cmd에서 ..
-
[Python] 기본 데이터 구조Programming/Python 2023. 3. 6. 20:07
Stack - LIFO(Last In First Out) : 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - list를 사용하여 스택 구조 구현 가능 push : appen() pop : pop() a = [1, 2, 3, 4, 5] a.append(10)#[1, 2, 3, 4, 5, 10] a.pop() #[1, 2, 3, 4, 5] Queue - FIFO(First In First Out) : 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - list를 사용하여 큐 구조 구현 가능 put : append() get : pop(0) a = [1, 2, 3, 4, 5] a.append(10)# [1, 2, 3, 4, 5] a.pop(0)# 1 Deque - stack 과 queue를..
-
[Python] 파이썬 순열과 조합Programming/Python 2022. 5. 17. 17:21
* 순열 : 서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열 {'A', 'B', 'C'}에서 3개를 선택하여 나열하는 경우 -> 'ABC', 'ACB', 'BAC', BCA', 'CAB', 'CBA' 순열의 수 : nPr = n * (n-1)*(n-2)* ... * (n-r+1) * 조합 : 서로 다른 n개에서 순서에 상관 없이 서로 다른 r개를 선택 {'A', 'B', 'C'}에서 순서를 고려하지 않고 두 개 선택하는 경우 -> 'AB', 'AC', 'BC' 조합의 수 : nCr = ( n*(n-1)*(n-2)* ... * (n-r+1) ) / r! 1. 순열 - 순서 o #순열 from itertools import permutations data = ['A', 'B', 'C'] resul..
-
[Python] 파이썬 자주 사용되는 라이브러리Programming/Python 2022. 5. 17. 17:10
* 내장 함수 : 기본 입출력 함수부터 정렬 함수까지 기본적인 함수 제공 - 파이썬 프로그램에서 필수적인 기능 포함 * itertools : 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능 제공 - 순열과 조합 라이브러리는 코딩 테스트에 자주 사용됨 * heap : 힙(Heap) 자료구조를 제공 - 일반적으로 우선순위 큐 기능을 구현하기 위해 사용 * bisect : 이진 탐색(Binary Search) 기능 제공 * Collections : deque, counter 등의 자료 구조 포함 * math : 필수적인 수학적 기능 제공 - 펙토리얼, 제곱근, 최대공약수(GCD), 삼각함수 관련 함수부터 Pi와 같은 상수 포함 1. 자주 사용되는 내장 함수 1-1. sum( ) #sum() re..
-
[Python] 파이썬 기초 3 (반복문)Programming/Python 2022. 5. 17. 17:02
1. while 문 #반복문------------------------------------------------ #while y = 0 while y < 5: print(y) y =y +1 2. for 문 #for문 #for 변수 in 리스트 : array = [9,8,7,6,5] #리스트 for x in array: print(x) array = (1,2,3,4,5) #튜플 for x in array: print(x) #range(시작 값, 끝 값+1) #i = 1~9 까지 의 수 result = 0 for i in range(1, 10): print(result+i) 3. continue #특정 번호의 학생은 제외하기 scores = [90, 85, 77, 65, 97] cheating_studen..
-
[Python] 파이썬 기초 2 (입출력, 조건문, pass)Programming/Python 2022. 5. 17. 17:00
1. 입출력 #입출력--------------------------------------- n = int(input()) print(n) #공백 기준으로 한번에 입력 받기 input_data = input().split() print(input_data) #string형으로 저장됨 #map함수로 int형으로 포맷하여 저장 input_data2 = map(int, input().split()) print(input_data2) #map object 주소가 나옴 # map함수로 int형으로 포맷하여 list에 저장 input_data3 = list(map(int, input().split())) print(input_data3) 1-1. 더 빠른 방법: #sys.stdin.readline() 메서드 이용 #..