Python Coding Intervies Short Cuts

Kim Minseok·2024년 3월 19일
1

파이썬 코딩테스트에서 자주 쓰이는 기법들을 빠르게 찾아보기 위해서 정리해둔 것입니다.

주의

리스트 복사

리스트는 LC로 만드는게 좋음. *로 리스트를 곱셈시키면 얕은복사됨

리스트에서 인덱스, 값 같이 순회

enumrate(a)는 tuple로 같이 묶어줌

a = ['one', 'two', 'three']
list(enumerate(a))
>>>[(0, 'one'), (1, 'two'), (2, 'three')]
for i,v in enumrate(lt):
	...

LC와 결합해서 특정 index만 걸러서 넣기

# 2의 배수만 * 2 하는 특성
[x*2 if i%2==0 else x for i,x in enumrate(lt)]

LC(List Comprehension)

통계

조합, 순서 상관 없이 n개 중 r개 선택

math.comb(n,r)

순열

math.perm(n,r)

정규표현식

패턴일치하는 첫번째 반환 : re.search(pattern, string)

import re
re.search('','Hello World')

문자 클래스

'[abc]' # a, b, c중 하나 매치
'[a-zA-Z0-9]' # 소문자,대문자,숫자
'[^0-9]' # 숫자를 제외한 모든 알파벳, ^(햇)

문자열 시작 매칭

'^apple'

Q) 문자열에서 원소기호만 걸러내기

import re

lt = re.findall('[A-Z][a-z]|[A-Z]', input())
lt = list(dict.fromkeys(lt)) # 순서 유지한채로 중복제거

print(' '.join(lt))
profile
안녕하세요! 대학생 김민석입니다.

0개의 댓글