Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

NumPy로 n×n 체커보드 패턴 출력하기: Python 프로그램 구현 가이드

주어진 값 n을 바탕으로 n × n 크기의 행렬에 체커보드(바둑판) 패턴을 출력하는 것이 이번 예제의 목표입니다.

NumPy는 파이썬에서 과학 연산을 위한 기본 패키지로, 초기값이 설정된 배열을 손쉽게 만들 수 있는 다양한 함수를 제공합니다. 특히 모든 요소를 0으로 채운 배열을 생성하는 zeros() 함수를 활용하면 체커보드 패턴을 아주 간단하게 구현할 수 있습니다.

알고리즘

1단계: 행렬의 차수(n)를 입력받는다.
2단계: zeros((n, n), dtype=int)를 사용해 n×n 행렬을 생성한다.
3단계: 슬라이싱(slicing) 기법으로 교차하는 행과 열에 1을 채운다.
4단계: 완성된 행렬을 출력한다.

핵심 포인트: 슬라이싱으로 패턴 만들기

체커보드 패턴은 0과 1이 격자 형태로 번갈아 배치된 구조입니다. NumPy의 슬라이싱 문법을 사용하면 복잡한 반복 처리 없이 두 줄의 코드만으로 패턴을 완성할 수 있습니다.

  • x[1::2, ::2] = 1 → 인덱스가 홀수인 행에서 짝수 위치의 열에 1을 채웁니다.
  • x[::2, 1::2] = 1 → 인덱스가 짝수인 행에서 홀수 위치의 열에 1을 채웁니다.

이 두 연산이 적용되면 0과 1이 서로 엇갈려 배치되어 마치 바둑판처럼 보이는 체커보드 패턴이 자연스럽게 완성됩니다.

예제 코드

import numpy as np

def checkboardpattern(n):
print("Checkerboard pattern:")
x = np.zeros((n, n), dtype=int)
x[1::2, ::2] = 1
x[::2, 1::2] = 1
# 패턴 출력
for i in range(n):
for j in range(n):
print(x[i][j], end=" ")
print()

# 실행 코드
n = int(input("Enter value of n ::>"))
checkboardpattern(n)

실행 결과

Enter value of n ::>4
Checkerboard pattern:
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0