출처 : 코드트리
n * m크기의 직사각형에 숫자를 0부터 순서대로 1씩 증가시키며 왼쪽 위에서부터 시작하여 다음과 같이 지그재그 모양으로 숫자들을 쭉 채우는 코드를 작성해보세요.
import sys
a, b = map(int,sys.stdin.readline().split()) # 행, 열
buf = [[0]*b for _ in range(a)]
count=0
for col in range(b): # 열
if col % 2 == 0: # 짝수열이면
for row in range(a):
buf[row][col] = count
count += 1
else: # 홀수열이면
for row in range(a-1, -1, -1): # 0~n-1까지 역순으로
buf[row][col] = count
count+=1
for row in range(a):
for col in range(b):
print(buf[row][col], end=' ')
print()
간단하게 알고리즘 짜는 연습이 필요!
그림처럼 홀수열은 밑으로 채워나가고,
짝수열은 밑에서 채워 올라간다.
따라서 짝수열일때만 역 for문을 사용해서 변수를 채워주면 된다.
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
[Python] 트로미노 - 이중배열탐색 (0) | 2023.11.30 |
---|---|
[Python] 대각선으로 숫자 채우기 - 이중배열 (0) | 2023.11.29 |
[Python] 백준 1926 그림 - bfs알고리즘 (0) | 2023.11.29 |
[Python] 백준 13458 시험 감독 (2) | 2023.11.10 |
[C++] 백준 2178 미로탐색-dfs알고리즘-최단경로 (0) | 2023.11.04 |
c++ 입출력 속도 향상 및 cin.tie 해야하는이유 (0) | 2023.11.03 |