Search

알고리즘 용례 총정리

대분류
CS
소분류
알고리즘
유형
알고리즘 설계
알고리즘
부유형
용례
최종 편집 일시
2024/12/12 09:49
생성 일시
2024/10/17 10:15
14 more properties

객체 정수 여부 판단

1. isinstance(데이터 값, 데이터 타입) → boolean

boolean으로 반환(데이터 값의 타입과 입력한 타입이 일치하면 True 아니면 False)
확인하고자 하는 타입을 튜플로 여러 개 넣으면 그 중 하나라도 만족하면 True 반환
>> isintace(a, int): #True로 값이 나오면 조건문 실행 pass >> isinstance('a', (int, float, list)) False
Python
복사

2. 타입이 float인 경우 : float.is_integer() → boolean

소수점 뒤에 모두 0이 있는 부동 소수점을 고려해야 하는 경우
>>> x = 10.0 >>> float(x).is_integer() True >>> y = 1.5 >>> float(y).is_integer() False
Python
복사

수학

math

제곱 : pow(x, y) → x의 y승

제곱근 : sqrt(n) → n의 제곱근

반복문에서 주로 사용되는 매개 매서드

두 iter를 인덱스 끼리 묶기 : zip(iter1, iter2)

iter의 각 요소마다 fuction 적용하주기) : map(function, iter)

인덱스와 요소를 매핑하기 : enumerate

numpy

배열 만들기

numpy → tolist() : 리스트로 바꾸는 법

np.array(list) : np로 바꾸는 법

np.zeros(size1, size2, dtype = type) : 0배열

> np.zeros(10, dtype = int) array([0,0,0,0,0,0,0,0,0,0])
SQL
복사

np.ones(size1, size2, dtype = type) : 1배열

> np.ones(10, dtype = int) array([1,1,1,1,1,1,1,1,1,1])
SQL
복사

np.linspace( 시작번호, 끝번호(포함), 나눌갯수, dtype=데이터타입 )

범위를 정해주고 정해진 수만큼 분할된 수열 만들기

산술 연산자 : 배열 요소 단위 연산

> a = np.array( [ 1, 2, 3 ] ) > b = np.array( [ 4, 5, 6 ] ) > c = a + b #c출력 array([ 5, 7, 9 ]) > c = a * b #c출력 array([ 4, 10, 18 ]) > c = b * 2 array([ 8, 10, 12 ])
Python
복사

비교

== : 배열 요소 단위 비교

> c = np.array( [ 21, 25, 29 ] ) > c == 25 array([ False, True, False ])
Python
복사

maximum(a,b) / minimum(a,b) : 배열 단위 비교 최대값, 최소값 배열 찾기

배열 두 개의 같은 자리의 원소를 비교해 더 큰 값과 더 작은 값을 구해주는 함수
> a = np.array( [ 1, 2, 3 ] ) > b = np.array( [ 4, 5, 6 ] ) > c1 = np.maximum(a,b) > c2 = np.minimum(a,b) [4 5 6] [1 2 3]
Python
복사

max(배열) / min(배열) : 배열 요소 단위 비교 최대값, 최소값 요소 찾기

통계

sum(배열) / cumsum(배열) : 합계 / 누적합

> b1 = np.sum(a) > b2 = np.cumsum(a) > print(b1) > print(b2) 15 [ 1 3 6 10 15]
Python
복사

prod(배열) / cumprod(배열) : 곱 / 누적곱

> b3 = np.prod(a) > b4 = np.cumprod(a) > print(b3) > print(b4) 120 [ 1 2 6 24 120]
Python
복사

np.mean(배열) : 평균

np.sort(배열) / np.sort(배열)[::-1] : 1차원 배열 오름차순 / 내림차순 정렬

순열 조합 : itertools

combinations(iterable, r) : iterable에서 원소 개수가 r개인 조합 뽑기

from itertools import combinations l = [1,2,3] for i in combinations(l,2): print(i) ''' 출력 결과: (1, 2) (1, 3) (2, 3) '''
Python
복사
파이썬 공식문서에 따르면 입력 iterable의 순서에 따라 사전식 순서로 방출됩니다. 따라서, 입력 iterable이 정렬되어있으면, 조합 튜플이 정렬된 순서로 생성

combinations_with_replacement(iterable,r) : iterable에서 원소 개수가 r개인 중복 조합 뽑기

from itertools import combinations_with_replacement l = ['A', 'B', 'C'] for i in combinations_with_replacement(l,2): print(i) ''' 출력결과: ('A', 'A') ('A', 'B') ('A', 'C') ('B', 'B') ('B', 'C') ('C', 'C') '''
Python
복사

permutations(iterable,r=None) : iterable에서 원소 개수가 r개인 순열 뽑기

from itertools import permutations l = ['A', 'B', 'C'] for i in permutations(l): #r을 지정하지 않거나 r=None으로 하면 최대 길이의 순열이 리턴된다! print(i) ''' 출력결과: ('A', 'B', 'C') ('A', 'C', 'B') ('B', 'A', 'C') ('B', 'C', 'A') ('C', 'A', 'B') ('C', 'B', 'A') '''
Python
복사

product(*iterables, repeat=1) : 여러 iterable의 데카르트곱 리턴

product는 다른 함수와 달리 인자로 여러 iterable을 넣어줄 수 있고 그 친구들간의 모든 짝을 지어서 리턴
from itertools import product l1 = ['A', 'B'] l2 = ['1', '2'] for i in product(l1,l2,repeat=1): #l1과 l2의 모든 쌍을 지어 리턴한다 print(i) ''' 출력결과: ('A', '1') ('A', '2') ('B', '1') ('B', '2') ''' for i in product(l1,repeat=3): #product(l1,l1,l1,repeat=1)과 동일한 출력 print(i) ''' 출력결과: ('A', 'A', 'A') ('A', 'A', 'B') ('A', 'B', 'A') ('A', 'B', 'B') ('B', 'A', 'A') ('B', 'A', 'B') ('B', 'B', 'A') ('B', 'B', 'B') '''
Python
복사

문자열

계산 관련 메소드

len(str) : 문자열 길이

min(str), max(str) : 문자열 내 문자/숫자의 최소값, 최대값(알파벳 순서, 숫자 순서)

str.ount() : 문자열 안에서 매개 문자의 개수 세기 (begin, end 위치 설정 가능)

str.특정 문자 들어있는지 여부 및 위치 찾아주는 메소드

startswith(’문자열’) : 문자열이 매개변수로 입력한 문자열로 시작하는지

endswith(’문자열’) : 문자열이 매개변수로 입력한 문자열로 끝나는지

str.숫자, 문자 포함 여부 확인 메소드

isalnum() : 문자열이 알파벳과 숫자로만 이루어져있는지

isalpha() : 문자열이 알파벳(영어, 한글 등)으로만 이루어져있는지

isdigit() == isnumeric() 문자열이 숫자만 포함하고 있는지

str.대소문자 여부 확인 및 변환 메소드

islower() / isupper() : 문자열이 모두 대/소문자로만 되어 있는지

lower() / upper() : 문자열 내 모든 소/대문자 → 대/소문자

swapcase() : 문자열 내 소→대, 대→소 문자로 변환

istitle() / isTitle() : 제목 형식에 맞는지, 제목 형식으로 변환

제목 형식 : I Love Python, I 12Love Py4Thon

str.공백 제거 메소드

strip() / lstrip() / rstrip() : 문자열 양끝/왼/오른쪽 공백 제거

문자열 변형 메소드

str.split()

‘구분자’.join(str) : 여러 개의 문자열을 구분자 문자열을 사이에 추가

zfill(width) : 문자열을 width만큼 길이로 만들되, 추가로 필요한 자리수만큼 ‘0’을 채움