코딩테스트

[코딩테스트 , Python] 파이썬 코딩테스트 문법 정리

치킨유망주 2021. 12. 20. 02:00

문자열과 내장함수

msg = "String"
msg = msg.upper() # 대문자
msg = msg.lower() # 소문자
x.isupper() 
x.islower()

index = msg.find('T') # 문자 찾기
cnt = msg.count('T') #  개수
msg = msg[:2] # 슬라이스

ord(x) # 아스키코드
s.replace(",", "") # 특정 문자 제거
s.split(' ')
s.split(',') # 특정 문자 기준으로 분리

리스트와 내장함수

a = []
a = list()
if not a: # 비었을 때 
if a:

a = list(range(1, 11)) # 리스트 숫자로 초기화
a.append(6) # 숫자 6넣기
a.insert(3, 7) # 3인덱스에 7추가
a.pop()  # 맨뒤 원소 제거
a.pop(0) #  0인덱스의 원소 제거
a.remove(4) # 4인 원소 제거
a.index(5) # 5의 인덱스

a.reverse()
a = revered(a) # 리스트 역순으로 바꾸기

a.sort()
a.sort(reverse = True) # 내림차순
a = sorted(a, key = lambda x : x[1]) # 정렬의 기준이 x[1])

a.clear() # 리스트 비우기
len(a)
''.join(a) # 리스트 합치기

b = set() # 집합, 중복없음, 중복제거는 set으로 하면된다.
set.add(5) # 집합 원소 추가

리스트 반복문

for x in a: # 순회
for i, x in enumerate(a): # (인덱스, 값)
for i, j in zip(a, b): # 2개의 배열 동시 순회

2차원 리스트

a = [0]*10 # 1차원 리스트 0으로 초기화
a = [[0]*3 for _ in range(5)] # 5x3 2차원리스트 초기화

람다함수와 map

def function(x):
	return x+1
# 을 람다로 하면
func = lambda x : x+1
func(2)

a = [1,2,3]
map(int, a) # a의 원소들을 int형으로 변환
map(func, a) # a의 원소들이 func()를 거침

set의 활용

a = set(a) # 리스트의 중복제거
a = list(set(a)) # 중복제거 후 다시 리스트로

a&b # 교집합
a.count(0) # 0인 요소 개수
a.discard(0) # 0인 요소 제거

프로그램 종료

import sys
sys.exit(0)

hash(키, 값)

h = {}
h['c'] = 2 # {'c' : 2}

for key in h.keys(): # 키 조회하기

# dict() 리스트로 초기화하기!!
from collections import defaultdict
h = defaultdict(list) # {}의 값이 리스트 []로 초기화 된다.
for t in list:
	h[t].append('a')

# 키 값 리스트로 넣기
if key in h:   # h안에 key가 있다면 append
	h[key].append(value)
else:          # 처음이라면 리스트형태로 1개만 넣어준다.
	h[key] = [value]

import heapq

# 최소힙
heapq.heappop(value) # 삭제
heapq.heappush(h, value) # h에 value 삽입

# 최대힙 : 넣을 때 부호를 바꿔서 넣기
heapq.heappush(h, -value)