시작하기무료로 시작하기

부분 배열 접근하기

NumPy 배열의 요소에 접근해 봅시다! 여러분의 과제는 한 변의 길이가 size인 정사각형 2차원 배열 square를 나선형 패턴을 따라 만든 리스트로 변환하는 거예요:

Traversing the matrix in spiral way

특정 슬라이스만 단순히 접근하는 대신, for 루프를 사용해 더 일반적인 해법을 구현해 보세요(해법은 홀수 크기의 모든 정사각형 2차원 배열에서 동작해야 합니다).

모듈 numpy는 이미 np로 임포트되어 있습니다.

반복 가능한 객체를 뒤집는 reversed() 함수가 필요합니다.

이 연습은 강의의 일부입니다

Python으로 코딩 인터뷰 문제 연습하기

강의 보기

연습 안내

  • 빨간색 화살표로 표시된 각 부분을 리스트로 변환하세요.
  • 초록색 화살표로 표시된 각 부분을 리스트로 변환하세요.
  • 파란색 화살표로 표시된 각 부분을 리스트로 변환하세요.
  • 자홍색 화살표로 표시된 각 부분을 리스트로 변환하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

spiral = []

for i in range(0, size):
    # Convert each part marked by any red arrow to a list
    spiral += list(square[i, ____:____])
    # Convert each part marked by any green arrow to a list
    spiral += list(square[____:____, size-i-1])
    # Convert each part marked by any blue arrow to a list
    spiral += list(reversed(square[size-i-1, ____:____]))
    # Convert each part marked by any magenta arrow to a list
    spiral += list(reversed(square[____:size-i-1, ____]))
        
print(spiral)
코드 편집 및 실행