[백준] q2290 LCD Test
문제
LCD 모니터에 나타내야 할 수와 수의 크기를 입력받아서 각 숫자를 조건에 맞게 출력하라.
어떻게 풀 것인가?
s, n = map(int, input().split())
char_list = list(str(n))
def get_1():
arr_1 = [' ' * (s + 2)]
for _ in range(s):
arr_1.append(' ' * (s + 1) + '|')
arr_1.append(' ' * (s + 2))
for _ in range(s):
arr_1.append(' ' * (s + 1) + '|')
arr_1.append(' ' * (s + 2))
return arr_1
def get_2():
arr_2 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_2.append(' ' * (s + 1) + '|')
arr_2.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_2.append('|' + ' ' * (s + 1))
arr_2.append(' ' + '-' * s + ' ')
return arr_2
def get_3():
arr_3 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_3.append(' ' * (s + 1) + '|')
arr_3.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_3.append(' ' * (s + 1) + '|')
arr_3.append(' ' + '-' * s + ' ')
return arr_3
def get_4():
arr_4 = [' ' * (s + 2)]
for _ in range(s):
arr_4.append('|' + ' ' * s + '|')
arr_4.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_4.append(' ' * (s + 1) + '|')
arr_4.append(' ' * (s + 2))
return arr_4
def get_5():
arr_5 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_5.append('|' + ' ' * (s + 1))
arr_5.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_5.append(' ' * (s + 1) + '|')
arr_5.append(' ' + '-' * s + ' ')
return arr_5
def get_6():
arr_6 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_6.append('|' + ' ' * (s + 1))
arr_6.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_6.append('|' + ' ' * s + '|')
arr_6.append(' ' + '-' * s + ' ')
return arr_6
def get_7():
arr_7 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_7.append(' ' * (s + 1) + '|')
arr_7.append(' ' * (s + 2))
for _ in range(s):
arr_7.append(' ' * (s + 1) + '|')
arr_7.append(' ' * (s + 2))
return arr_7
def get_8():
arr_8 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_8.append('|' + ' ' * s + '|')
arr_8.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_8.append('|' + ' ' * s + '|')
arr_8.append(' ' + '-' * s + ' ')
return arr_8
def get_9():
arr_9 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_9.append('|' + ' ' * s + '|')
arr_9.append(' ' + '-' * s + ' ')
for _ in range(s):
arr_9.append(' ' * (s + 1) + '|')
arr_9.append(' ' + '-' * s + ' ')
return arr_9
def get_0():
arr_0 = [' ' + '-' * s + ' ']
for _ in range(s):
arr_0.append('|' + ' ' * s + '|')
arr_0.append(' ' * (s + 2))
for _ in range(s):
arr_0.append('|' + ' ' * s + '|')
arr_0.append(' ' + '-' * s + ' ')
return arr_0
answer = ['' for _ in range(2 * s + 3)]
for i in range(1):
if char_list[i] == '1':
for j in range(2 * s + 3):
answer[j] += get_1()[j]
elif char_list[i] == '2':
for j in range(2 * s + 3):
answer[j] += get_2()[j]
elif char_list[i] == '3':
for j in range(2 * s + 3):
answer[j] += get_3()[j]
elif char_list[i] == '4':
for j in range(2 * s + 3):
answer[j] += get_4()[j]
elif char_list[i] == '5':
for j in range(2 * s + 3):
answer[j] += get_5()[j]
elif char_list[i] == '6':
for j in range(2 * s + 3):
answer[j] += get_6()[j]
elif char_list[i] == '7':
for j in range(2 * s + 3):
answer[j] += get_7()[j]
elif char_list[i] == '8':
for j in range(2 * s + 3):
answer[j] += get_8()[j]
elif char_list[i] == '9':
for j in range(2 * s + 3):
answer[j] += get_9()[j]
else:
for j in range(2 * s + 3):
answer[j] += get_0()[j]
for i in range(1, len(char_list)):
if char_list[i] == '1':
for j in range(2 * s + 3):
answer[j] += ' ' + get_1()[j]
elif char_list[i] == '2':
for j in range(2 * s + 3):
answer[j] += ' ' + get_2()[j]
elif char_list[i] == '3':
for j in range(2 * s + 3):
answer[j] += ' ' + get_3()[j]
elif char_list[i] == '4':
for j in range(2 * s + 3):
answer[j] += ' ' + get_4()[j]
elif char_list[i] == '5':
for j in range(2 * s + 3):
answer[j] += ' ' + get_5()[j]
elif char_list[i] == '6':
for j in range(2 * s + 3):
answer[j] += ' ' + get_6()[j]
elif char_list[i] == '7':
for j in range(2 * s + 3):
answer[j] += ' ' + get_7()[j]
elif char_list[i] == '8':
for j in range(2 * s + 3):
answer[j] += ' ' + get_8()[j]
elif char_list[i] == '9':
for j in range(2 * s + 3):
answer[j] += ' ' + get_9()[j]
else:
for j in range(2 * s + 3):
answer[j] += ' ' + get_0()[j]
for i in range(2 * s + 3):
print(answer[i])
댓글남기기