문제
실행 결과
코드(Python)
n, m = map(int, input().split())
arr_2d = [[0 for _ in range(m)] for _ in range(n)] # n * m의 2차원 배열 생성
num = 0
for j in range(m):
# 열 index가 짝수면 지그재그 위에서 아래로 증가 (2, 4줄)
if j % 2 == 0:
for i in range(n):
arr_2d[i][j] = num
num += 1
# 반대로 홀수라면 아래에서 위로 증가 (1, 3, 5줄)
else:
for i in range(n - 1, -1, -1):
arr_2d[i][j] = num
num += 1
for row in arr_2d:
for elem in row:
print(elem, end=" ")
print()
코드 설명
2차원 배열에서의 변수는 각각 n(행), m(열)을 의미한다.
주석에 간단하게 써놓았는데 지그재그 배열 패턴을 자세히 보면
홀수열이면 아래쪽으로 증가하고, 짝수열이면 위쪽으로 증가한다.
지그재그라는 말이 들어가고 올라갔다 내려갔다를 반복하는 모양일 경우 짝홀을 이용함을 기억해두자!
'PS' 카테고리의 다른 글
[코드트리] 격자로서의 2차원 배열: 동전이 있는 위치 (0) | 2024.07.14 |
---|---|
[코드트리] 2차원 배열과 패턴: 격자 반대로 채우기 (0) | 2024.07.13 |
[코드트리] Notation / 진수 to 진수 (0) | 2024.06.21 |
[코드트리] Date to Date (0) | 2024.06.20 |
[코드트리] 객체 정렬 / 정렬된 숫자 위치 알아내기 (0) | 2024.06.19 |