서론
없음.
문제
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1307&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(1, n+1):
for j in range(1, n+1):
print(chr(((n-i) + n*(n-j))%26 + 65), end=' ')
print()
break
이번문제도 수식을 만들어서 풀었다.
((n-i) + n*(n-j))%26 + 65
이거는 문제 요건에서 요구하는 자리에 맞는 아스키코드 값을 만들어주고
chr()을 통해서 숫자를 영어 대문자로 바꾸어 준다.
(참고로 ord()는 문자를 아스키코드로 바꿪준다고한다.)
+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!
'코딩테스트 > [python]정올' 카테고리의 다른 글
[python] 정올 1338 : 문자삼각형1 (0) | 2022.03.22 |
---|---|
[python] 정올 1314 : 문자사각형2 (0) | 2022.03.17 |
[python] 정올 2046 : 숫자사각형4 (0) | 2022.03.17 |
[python] 정올 1304 : 숫자사각형3 (0) | 2022.03.17 |
[python] 정올 1856 : 숫자사각형2 (0) | 2022.03.17 |
댓글