티스토리 뷰

Coding Test

[Jongol] 1339. 문자삼각형2

lluna 2021. 12. 3. 16:36
 

JUNGOL

 

www.jungol.co.kr

문제포인트

  • 이차원 배열의 인덱싱 문제
  • 열번호가 i 일때 행번호의 시작 위치가 i이고, 끝위치는 (n//2)*2 - i  인 것이 힌트이다.
  • 바로 파악이 안되어서, 인덱스를 찾아서 변수화하는데 시간이 꽤 걸렸다.
  • 다음에 풀 때는 10분컷으로 도전해봐야겠다.
# cf. 열번호가 i일때 행번호의 시작위치는 i이고 끝위치는 (n//2)*2 - i 이다.


# 열과 행의 시작위치는 N // 2
# i는 행의 위치이다. 행은 j부터 N//2 + (N//2-j)+1 사이에서 1씩 증가한다.
# j는 열의 위치이다. 열은 N // 2 부터 1씩 감소한다.

N = int(input())
list_alpha = list(map(chr, range(65, 91)))
arr = [[' '] * N for _ in range(N)]

if 1 <= N <= 100 and N % 2:
    s = 0
    for j in range(N//2, -1, -1):
        for i in range(N//2 - (N//2-j), N//2 + (N//2-j)+1):
            if s == 26:
                s = 0
            arr[i][j] = list_alpha[s]
            s += 1

    for i in range(N):
        for j in range(N):
            print(arr[i][j], end=' ')
        print('')
else:
    print('INPUT ERROR')
# N = 8

Q                 
R J               
S K E             
T L F B           
U M G C A         
V N H D           
W O I             
X P               
Y

'Coding Test' 카테고리의 다른 글

[Jungol] 766. 문자열1-형성평가 1  (0) 2021.12.06
[Jungol] 879. 문자열1-자가진단6  (0) 2021.12.06
[Jungol] 1338. 문자삼각형 1 (RE)  (0) 2021.12.03
[Jungol] 1307. 문자사각형  (0) 2021.12.03
[Jungol] 1291. 구구단  (0) 2021.12.02
댓글