좌우 지그재그 출력

훈이는못말려·2023년 8월 14일
0

Algorithm

목록 보기
7/7
post-thumbnail

문제

자연수 n이 주어집니다. 1부터 n * n까지 다음 규칙에 따라 출력하는 프로그램을 작성해보세요.

입력 형식

첫 번째 줄에 n이 주어집니다.

1 ≤ n ≤ 100

입출력 예제

입력: 3

1 2 3
6 5 4
7 8 9

출력: 4

1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13

해결

1부터 n * n 까지의 수를 순서대로 n * n 크기의 표에 출력하는데, 홀수 번째 줄에는 수를 오름차순으로, 짝수 번째 줄에는 수를 내림차순으로 출력합니다.

즉, 첫번째 줄을 i = 0이라고 했을 때, i 번째 줄에 주어지는 n개의 수는, i * n + 1 부터 (i + 1) * n 까지의 수가 주어집니다.

변수 j를 초기값으로 하는 for문의 각 for loop마다 i의 값을 2로 나눈 나머지가 0이라면 (i * n) + j + 1을 출력하고, 0이 아니라면 (i * n) + n - j를 출력합니다. 홀수 번째 줄에는 오름차순을, 짝수 번째 줄에는 내림차순을 출력하는 것을 의미합니다.

# 변수 선언 및 입력
n = int(input())
	
# 좌우 지그재그로 출력합니다.
for i in range(n):
	for j in range(n):
		if i % 2 == 0:
			print((i * n) + j + 1, end=" ")
		else:
			print((i * n) + n - j, end=" ")
	print()

0개의 댓글