1471
n = int(input())
arr = [[0 for _ in range(n)]for _ in range(n)]
count = 0
for x in range(n):
if x % 2:
for y in range(n-1,-1,-1):
count += 1
arr[x][y] = count
else:
for y in range(n):
count += 1
arr[x][y] = count
for x in range(n-1,-1,-1):
for y in range(n):
print(arr[y][x], end=" ")
print()
1472
import numpy as np
n, m = map(int, input().split())
arr = np.zeros((n, m), dtype=int)
count = 0
for x in range(n):
for y in range(m):
count += 1
arr[x][y] = count
for x in range(n-1,-1,-1):
if x % 2:
for y in range(m):
print(arr[x][y], end=" ")
else:
for y in range(m-1,-1,-1):
print(arr[x][y], end=" ")
print()
numpy를 임포트 해서 사용하여 풀이하면 위와 같다. 사용하지 않으면 아래와 같다.
n, m = map(int, input().split())
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for x in range(n):
for y in range(m):
count += 1
arr[x][y] = count
for x in range(n-1,-1,-1):
if x % 2:
for y in range(m):
print(arr[x][y], end=" ")
else:
for y in range(m-1,-1,-1):
print(arr[x][y], end=" ")
print()
둘다 정확한 풀이가 뜨며, 차이점은 아주 살짝의 코드길이와 6개의 시간차이 4배의 메모리차이이다.. numpy를 사용하지 않을때 더 작고 빠르다.
1473
n, m = map(int, input().split())
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for x in range(n):
for y in range(m):
count += 1
arr[x][y] = count
for x in range(n-1,-1,-1):
if x % 2:
for y in range(m-1,-1,-1):
print(arr[x][y], end=" ")
else:
for y in range(m):
print(arr[x][y], end=" ")
print()
1474
n, m = map(int,input().split())
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for x in range(m):
if x % 2:
for y in range(n):
count += 1
arr[y][x] = count
else:
for y in range(n-1,-1,-1):
count += 1
arr[y][x] = count
for x in range(n):
for y in range(m-1,-1,-1):
print(arr[x][y], end=" ")
print()
1475
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(n)]for _ in range(m)]
count = 0
for x in range(m):
if x % 2:
for y in range(n-1,-1,-1):
count += 1
arr[x][y] = count
else:
for y in range(n):
count += 1
arr[x][y] = count
for x in range(n):
for y in range(m-1,-1,-1):
print(arr[y][x], end=" ")
print()
1476
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for x in range(n+m-1):
for y in range(m):
for z in range(n):
if y+z == x:
count += 1
arr[z][y] = count
for x in range(n):
for y in range(m):
print(arr[x][y], end=" ")
print()
1477
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for x in range(n+m-1):
for y in range(n):
for z in range(m):
if y+z == x:
count += 1
arr[y][z] = count
for x in range(n):
for y in range(m):
print(arr[x][y], end=" ")
print()
1478
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(m)]for _ in range(n)]
count = 0
for z in range(n+m-1):
for x in range(n):
for y in range(m-1, -1, -1):
if x+y == z:
count += 1
arr[x][y] = count
for x in range(n):
for y in range(m-1, -1, -1):
print(arr[x][y], end=" ")
print()
1479
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(n)] for _ in range(m)]
count = 0
for z in range(n + m - 1):
for x in range(m):
for y in range(n):
if x + y == z:
count += 1
arr[x][y] = count
for x in range(n):
for y in range(m-1, -1, -1):
print(arr[y][x], end=" ")
print()
1480
n, m = tuple(map(int, input().split()))
arr = [[0 for _ in range(n)]for _ in range(m)]
count = 0
for z in range(n+m-1):
for x in range(m):
for y in range(n-1, -1, -1):
if x+y == z:
count += 1
arr[x][y] = count
for x in range(n-1, -1, -1):
for y in range(m-1, -1, -1):
print(arr[y][x], end=" ")
print()
'Python > CodeUp' 카테고리의 다른 글
1481 ~ 1489 파이썬 코드업 문제풀이 2차배열 (0) | 2021.03.02 |
---|---|
1460 ~ 1470 파이썬 코드업 문제풀이 (0) | 2021.03.01 |
1414 ~ 2721 파이썬 코드업 문자열 문제풀이 (0) | 2021.02.28 |
1402 - 1440 파이썬 코드업 1차원 배열 문제풀이 (0) | 2021.02.28 |
1365 ~ 1677 파이썬 코드업 문제풀이 (0) | 2021.02.27 |
댓글