Python 알고리즘에 사용할만한 문법 정리

Junsoo Choi·2021년 4월 26일
0

코딩테스트 준비

목록 보기
1/1

전 주로 leetcode에서 Python으로 코테 준비를 하는데요, 여러 사람들의 답을 보다보니 경우에 따라 유용하게 쓰일 수 있는 파이썬 문법들이 종종 보여 정리해보려고 합니다.

문제를 풀다 발견하는 대로 지속적으로 업데이트 될 예정입니다.

  1. Matrix를 회전시키는 문제
def spiralOrder(self, matrix):
    return matrix and [*matrix.pop(0)] + self.spiralOrder([*zip(*matrix)][::-1])
  • *는 javascript에서 ***와 비슷하게 deconstructuring을 해줍니다. *[1,2,3]을 수행하면 1 2 3이 나옵니다
  • zip()은 같은 위치에 있는 element들을 tuple로 묶어줍니다. zip([1,2,3],[4,5,6])을 수행하면 (1,4) (2,5) (3,6)이 나옵니다
  • [::-1]list.slice()가 되며 startend가 명시되지 않았으니 전체 배열을 지칭하며 step이 -1이므로 역순으로 뒤집힌 배열이 반환됩니다. list.reverse()를 수행할 경우 in-place에서 reverse되기 때문에 순서가 뒤집힌 배열을 새로 생성하고 싶을 때 유용하게 사용할 수 있을 것 같습니다.

Reference: 문제 | 답변

  1. 중복된 element가 리스트에 있는지 확인하기
listA = [1,1,2,3]
if len(set(listA)) == len(listA):
	print("No duplicate element")
profile
Youtube: 개발자준

0개의 댓글

관련 채용 정보