백준 문제를 풀다 보면 종종 리스트 안의 행과 열을 바꿔야 하는 경우가 생긴다. 하지만 코딩테스트에서는 보통 numpy를 사용할 수 없다. 간단한 내장함수를 사용하여 전치행렬을 구현하는 방법을 알아보자. 1. zip for문을 실행할 때 zip 함수로 열의 요소들을 묶어줄 수 있다. arr = [list(temp) for temp in zip(*arr)] 2. map과 zip map 함수를 사용하면 for문을 거치는 것보다 더 빠르게 전치행렬을 만들 수 있다. arr = list(map(list,zip(*arr)))
Study/Ect
2023. 3. 26.
[Python] List Comprehension
코딩테스트 문제를 풀다 보면 문제를 입력받을 때, 이차원 배열을 받을 때가 많다. for문을 통해서 배열을 입력받을 때 빈 리스트에 한 줄씩 append 해줄 수 있지만, list comprehension을 이용하면 쉽게 한줄로 입력받을 수 있다. 개인적으로 입력을 받거나 행렬을 생성할 때 간단하게 리스트를 표현할 수 있기 때문에 특히 많이 사용하게 되는 것 같다. 표현식 + for문 형식 result = [표현식 for 변수 in 리스트] # 예시 # 1차원 배열 # 숫자를 순차적으로 입력받을 때 result = [] for i in range(n): result.append(int(input())) # list comprehension result = [int(input()) for i in rang..
Study/Ect
2023. 3. 26.