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

[python] 정올 1314 : 문자사각형2

by o_oo 2022. 3. 17.

서론

없음.


문제

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

 

JUNGOL

 

www.jungol.co.kr


문제

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.

 
< 처리조건 > 


문자의 진행 순서는 왼쪽 위에서부터 아래쪽으로 ‘A'부터 차례대로 채워나가고 

다시 오른쪽 아래부터 위쪽으로 채워나가는 방법으로 아래 표와 같이 채워 넣는다.

'Z' 다음에는 다시 'A'부터 반복된다.

입력형식

정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.

 

출력형식

위의 형식과 같이 한변의 길이가 n인 숫자 사각형을 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

나의 풀이

while 1:
    n = int(input())
    
    if n < 1 or n > 100:
        continue
    
    else:
        for i in range(0, n):
            for j in range(0, n):
                print(chr(((i + n*j) if j%2==0 else (n-i-1 + n*j))%26 + 65), end=' ')
            print()
        break

직전 문제와 유사해서 출력 수식만 바꿔줬다.

(그냥 드는 생각인데 나의 풀이가 좋은 풀이인지는 모르겠다. print문 안에 if문을 넣는다라...)

아무튼 j가 홀수일때, 짝수일때 방향을 바꾸기 위해 if문을 사용하였고, 이전과 동일하게 아스키 코드값을 문자로 바꿔 출력했다.


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

댓글