서론
없음.
문제
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1856&sca=2010
문제
사각형의 높이 n과 너비 m을 입력받은 후
사각형 내부에 지그재그 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오.
< 처리조건 >
숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 m만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.
입력형식
사각형의 높이n와 너비m( n과 m의 범위는 100 이하의 정수)을 입력받는다.
출력형식
위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다.
나의 풀이
while 1:
n, m = map(int, input().split())
if n < 1 or n > 100 or m < 1 or m > 100:
continue
else:
for i in range(0, n):
for j in range(0, m):
rslt = (j + 1 + i*m) if i % 2 == 0 else (m - j + i*m)
print(rslt, end = ' ')
print()
break
이번에도 특별할건 없는 풀이. 이번에는 if문이나 for문을 많이 쓰고싶지 않아서
(j + 1 + i*m) if i % 2 == 0 else (m - j + i*m)
라는 수식을 만들어서 출력을 했다.
+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!
'코딩테스트 > [python]정올' 카테고리의 다른 글
[python] 정올 2046 : 숫자사각형4 (0) | 2022.03.17 |
---|---|
[python] 정올 1304 : 숫자사각형3 (0) | 2022.03.17 |
[python] 정올 1303 : 숫자사각형1 (0) | 2022.03.17 |
[python] 정올 1341 : 구구단2 (0) | 2022.03.17 |
[python] 정올 1291 : 구구단 (0) | 2022.03.17 |
댓글