[백준] q2290 LCD Test

4 분 소요

문제

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])

카테고리:

업데이트:

댓글남기기