정수 n의 값이 주어질때 nxn 크기의 정사각형 알파벳 출력하는 프로그램 작성해보기
위>아래, 왼>오로 읽을 때 알파벳 대문자부터 차례로 출력되어야 한다.
ex) n=2
AB
CD
<사전지식>
python에서 모든 문자열은 모두 하나의 숫자와 대응되는 아스키 코드이다.
이중 알파벳 대문자, 소문자는 연속된 숫자들과 매칭되어 있다.
ord() 함수 : ordinal position의 약자로, 인수로 문자를 받는다.
chr() 함수 : chr은 숫자를 입력받아 해당 숫자에 해당하는 유니코드(기본인코딩 UTF-8)로 변환하는 함수다.
요약 :
문자->대응유니코드 ord() 사용
대응유니코드->숫자 char() 사용
1. 행과 열의 갯수는 n의 갯수다. > 따라서 행(i)와 열(j)는 중첩 for문으로 풀이 가능
2. 문제에 언급되어 있듯이, 좌>우, 상>하로 갈수록 알파벳 순서대로 출력된다.
> 이전 값이 이후값에 영향을 받고, 순서대로 진행(즉, 아스키 코드의 숫자가 1씩 커지므로)하므로 cnt 방법을 활용한다. 이후 print시 다시 문자로 돌려놓는 chr()를 사용한다.
n = int(input())
cnt = ord('A')
for _ in range(n) :
for _ in range(n) :
print(chr(cnt), end = '')
cnt += 1
print()
문제 출처 : 코드트리
https://www.codetree.ai/trail-info
반응형
'Python > 코딩테스트' 카테고리의 다른 글
다중반복문 - 알파벳 출력하기2 (0) | 2025.03.04 |
---|---|
다중반복문 - 알파벳 출력하기 (0) | 2025.03.04 |
다중반복문 - 모양대로 수 출력하기 (0) | 2025.02.26 |
다중반복문 - 숫자로 이루어진 삼각형 (0) | 2025.02.26 |
다중반복문 - 구구단으로 이루어진 직각삼각형 (0) | 2025.02.26 |