문제
N과 시작 숫자 S가 주어지면 숫자 피라미드를 만드는 프로그램을 작성하시오.
예를 들어, N이 5이고 S가 3 이라면, 그 숫자 피라미드는 다음과 같다.
3
456
21987
3456789
987654321
456
21987
3456789
987654321
- 시작 숫자 S는 꼭대기부터 1씩 증가한다.
- 시작 행의 번호가 1번이라고 했을때, 짝수번째 행은 왼쪽에서 오른쪽으로 1씩 증가하도록 적고, 홀수번째 행은 거꾸로 적는다.
- 숫자가 만약 10이 될 경우, 1로 바꾸고 다시 증가한다.
입력
입력의 첫 번째 줄에 N과 시작 숫자 S가 주어진다. ( 1≤N≤100, 1 ≤S≤ 9)
출력
첫 번째 줄부터 숫자 피라미드를 출력한다. (각 줄에 존재하는 공백의 개수와 숫자의 개수를 정확하게 확인해주시바랍니다.)
예제 입력
5 3
예제 출력
3
456
21987
3456789
987654321
풀이
- 정상적으로 출력한걸 리스트에 담아서 짝수인 경우 reverse() 출력
n, s = map(int, input().split())
num_list = []
for i in range(n) :
temp = []
for j in range(n-i-1) : #오른쪽 공백
temp.append(" ")
for j in range((i*2)+1) : #별
if s == 10 :
s = 1
if s < 10 :
temp.append(str(s))
s += 1
continue
for j in range(n-i-1) : #왼쪽 공백
temp.append(" ")
num_list.append(temp)
for i in range(len(num_list)) :
if i % 2 == 0 :
num_list[i].reverse()
print("".join(num_list[i]))
'코테풀이 > 구현' 카테고리의 다른 글
공기청정기-2차원 밀기(이차원 리스트 시계방향 테두리 회전) (0) | 2022.02.15 |
---|---|
[백준 | 실버5] 2578:빙고 (0) | 2022.01.06 |
[알고리즘랩스] 3. 완전탐색_offset(4방향 체크, 구현) (0) | 2022.01.06 |
[알고리즘랩스]반복문&배열_array3(대각선 출력) (0) | 2022.01.04 |
[프로그래머스 | 2단계] 행렬 테두리 회전하기(사각형 테두리 화전) (0) | 2022.01.02 |
[랩스 | 구현] 반복문&배열_숫자피라미드(별찍기, 피라미드)