시간 제한 | 메모리 제한 |
---|---|
2초 | 128MB |
지민이의 친한 친구인 지환이는 지민이의 새로운 모니터를 위해 테스트 할 수 있는 프로그램을 만들기로 하였다.
첫째 줄: 두 개의 정수 s와 n이 들어온다.
길이가 s인 '-'와 '|'를 이용해서 출력해야 한다. 각 숫자는 모두 s + 2의 가로와 2s + 3의 세로로 이루어 진다.
나머지는 공백으로 채워야 한다. 각 숫자 사이에는 공백이 한 칸 있어야 한다.
def one(width,height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width -1] = 2
def two(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def three(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width - 1] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def four(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i][start] = 2
display[i*-1-1][start + width - 1] = 2
for i in range(1,width-1):
display[height // 2][start + i] = 1
def five(width, height, start, display):
for i in range(1, height // 2):
display[i][start] = 2
display[i*-1-1][start + width - 1] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def six(width, height, start, display):
for i in range(1, height // 2):
display[i][start] = 2
display[i*-1-1][start] = 2
display[i*-1-1][start + width - 1] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def seven(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width - 1] = 2
for i in range(1,width-1):
display[0][start + i] = 1
def eight(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width - 1] = 2
display[i][start] = 2
display[i*-1-1][start] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def nine(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width - 1] = 2
display[i][start] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height // 2][start + i] = 1
display[height-1][start + i] = 1
def zero(width, height, start, display):
for i in range(1, height // 2):
display[i][start + width -1] = 2
display[i*-1-1][start + width - 1] = 2
display[i][start] = 2
display[i*-1-1][start] = 2
for i in range(1,width-1):
display[0][start + i] = 1
display[height-1][start + i] = 1
s, num = input().split()
s = int(s)
digit = len(num)
width, height = s+2, 2*s+3
display = [ [0] * ((width+1) * digit) for _ in range(height)]
start = 0
for n in num:
if n == '1': one(width, height, start, display)
elif n == '2': two(width, height, start, display)
elif n == '3': three(width, height, start, display)
elif n == '4': four(width, height, start, display)
elif n == '5': five(width, height, start, display)
elif n == '6': six(width, height, start, display)
elif n == '7': seven(width, height, start, display)
elif n == '8': eight(width, height, start, display)
elif n == '9': nine(width, height, start, display)
else: zero(width, height, start, display)
start += width + 1
for d in display:
for r in d:
print(' ' if r == 0 else '-' if r == 1 else '|', end ='')
print()