python__[2차원 리스트 90도 회전, 행과 열 바꾸기]

Jaewon Lee·2021년 8월 13일
4

Algorithm

목록 보기
31/36
post-thumbnail

On.

가끔 코딩테스트 문제를 풀다보면, 약간의 트릭? 기술?을 쓰면 편한 부분들이 있다.

오늘 작성하는 부분들이 바로 그런 것들이다. 알면 너무 편하고, 모르면 쌉고생하는 것들...

바로 ㄱㄱ해보자


2차원 리스트 다루기


90도 회전

  • list(zip( *arr[::-1] ))
[1 2 3]              [7 8 9]              [7 4 1]
[4 5 6]      ->      [4 5 6]      ->      [8 5 2]
[7 8 9]              [1 2 3]              [9 6 3]
*arr               *arr[::-1]         zip(*arr[::-1])

행과 열 바꾸기

  • list(zip( *arr ))
  • 가끔 for문을 돌면서 가로의 합, 세로의 합을 구해야될 때 가 있음!
  • 가로의 합은 평소대로 이중 for문 돌면서 구할 수 있지만, 세로의 합은 구하기가 좀 번거로움!
  • 그럴 때 행과 열을 바꿔주면, 평소대로 이중 for문 돌면서 세로의 합도 구할 수 있다!
[1 2 3]               [1 4 7]
[4 5 6]      ->       [2 5 8]
[7 8 9]               [3 6 9]
*arr                 zip(*arr)

Off.


프론트와 백을 넘나드는 리드 개발자가 되는 그날까지 🔥🔥🔥

profile
Communication : any

0개의 댓글