Programming/Python 6

Python 자료형 별 메서드 시간 복잡도 정리

list Index l[i] O(1) 인덱스로 값 찾기 Store l[i] = 0 O(1) 인덱스로 데이터 저장 Length len(l) O(1) 리스트 길이 Append l.append(5) O(1) 리스트의 맨 뒤에 데이터 저장 Pop l.pop() O(1) 리스트의 맨 뒤의 데이터 pop Clear l.clear() O(1) 리스트 초기화 Slice l[a:b] O(b-a) 슬라이싱 되는 길이에 비례 Extend l.extend(...) O(len(...)) 확장되는 길이에 비례 Construction list(...) O(len(...)) 리스트 길이에 비례 check ==, != l1 == l2 O(N) 전체 리스트가 동일한지 확인 Insert l[a:b] = ... O(N) 데이터 삽입 Del..

Programming/Python 2021.01.10

Python list 원소 입력 : 입력 시 원소 증감하기

알고리즘 문제를 풀다보면 원소의 시작이 1부터 되는 경우가 종종 있다. 리스트에서 인덱스는 0부터 시작하므로, 입력을 받을 때 부터 1을 빼고 리스트에 저장하려면 lambda를 사용하면 된다 # 입력 예시 # 1 2 3 4 5 6 # 기존 방식대로 입력을 받아서 1씩 빼주는 경우 mylist = list(map(int, input().split())) for i in range(len(mylist)): mylist[i] -= 1 print(*mylist) # 0 1 2 3 4 5 # lambda를 활용하여 입력 받을 때 부터 1을 빼줌 mylist = list(map(lambda x : int(x)-1, input().split())) print(*mylist) # 0 1 2 3 4 5

Programming/Python 2021.01.05

Python 백준 문제풀이 시 입출력 정리

input() : 한 줄의 문자열을 입력 map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용 # 공백을 기준으로 구분된 데이터를 입력 받을 떄 data = list(map(int, input().split())) # 공백을 기준으로 구분된 데이터가 많지 않다면 a, b, c = map(int, input().split()) 파일 입출력 sys.stdin = open("input.txt", "r") 좀 더 빠르게 입력 받기 sys.stdin.readline() 사용 단, 입력 후 엔터가 사용되므로 rstrip() 를 함께 사용 import sys # 공백으로 구분된 2개 숫자 입력 받기 N, M = map(int,sys.stdin.readline().split()) # 2차원 리스트 입..

Programming/Python 2021.01.03

Python 라이브러리 정리

Counter 리스트와 같은 반복 가능한 객체가 주어졌을 때, 내부의 원소가 몇번 등장했는지 반환 from collections import Counter counter = Counter(['red', 'red', 'blue', 'green', 'blue']) print(counter['blue']) print(counter['red']) 리스트에서 맨 뒤 원소부터 확인 하고 싶을 때 음수인덱스 사용 arr = [1,2,3,4,5,6] print(arr[::-1]) # 맨 뒤에서 부터 1칸씩 print(arr[1:5:2]) # index 1부터 4까지 2칸 간격으로 진법 변환 num = '4213&..

Programming/Python 2021.01.03

Python 파이썬 기본 자료형 정리 - List

기본 문법 정리 List C++의 vector, Java의 array list와 유사 초기화 : 대괄호 사용 [ ] 인덱스 접근 가능 a = [1, 2, 3, 4] print(a[3]) # 실행결과 4 # 크기가 n이고 모든 값이 0인 1차원 리스트 초기화 n = 10 a = [0]*n print(a) # 실행결과 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Indexing 양의 정수( 맨 앞부터 시작), 음의 정수 (맨 뒤부터 시작, 맨 뒤는 -1)로 인덱싱 가능 a = [1,2,3] print(a[-1]) # 실행결과 3 연속적인 위치를 가져올 떄는 슬라이싱을 사용 : 대괄호 안에 콜론(:)을 넣어서 시작인덱스와 끝 인덱스 설정 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정 a = [1,..

Programming/Python 2020.12.25