코딩테스트 (파이썬) 스킬 정리

60jong·2022년 8월 1일
0

리스트 정렬

listA = [4,1,6,3]
listB = [for i in listA]
listB.sort()
listA = [4,1,6,3]
listB = sorted(listA)

문자열 리스트 정렬

listA = ["119", "97674223", "1195524421"]
listA.sort()
print(listA) # ["119", "1195524421", "97674223"]

정수형 리스트 정렬

listA = [119, 97674223, 1195524421]
listA.sort()
print(listA) # [119, 97674223, 1195524421]

리스트 복사

  • slicing

1차원 리스트

listA = [[0] * 10 for _ in range(10)]
listB = [row[:] for row in listA] 

2차원 리스트

listA = [[0] * 10 for _ in range(10)]
listB = [row[:] for row in listA] 
  • deepcopy (깊은 복사)

deepcopy는 slicing보다 시간이 100여배는 더 소요됨

enumerate

for idx, ele in enumerate('abcd'):
	print(idx) # 0,1,2,3
    print(ele) # 'a','b','c','d'

진법 변환

num = '3212'
int(num,X) # X진법으로 표현된 num을 10진법 int로 변환

문자열 정렬

n = 'abc'
print(n.ljust(7))  # 'abc    '
print(n.center(7)) # '  abc  '
print(n.rjust(7))  # '    abc'
print(n.center(7,'-') # '--abc--'

알파펫 갯수 세기

import collections
string = 'mississipi'
answer = collections.Counter(string)

print(answer['m']) # 1

answer.most_common() # (등장 원소, 횟수) 튜플 리스트 반환 (횟수 내림차순)
profile
울릉도에 별장 짓고 싶다

0개의 댓글