본문 바로가기
코딩테스트/[python]정올

[python] 정올 1856 : 숫자사각형2

by o_oo 2022. 3. 17.

서론

없음.


문제

http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1856&sca=2010

 

JUNGOL

 

www.jungol.co.kr


문제

사각형의 높이 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)

라는 수식을 만들어서 출력을 했다.

 


+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!

댓글