소스 코드

def solution(n, arr1, arr2):
    lst = [[0 for _ in range(n)] for l in range(n)]

    # 벽 lst에 표시
    idx = 0
    for q in arr1:
        num = format(q, 'b')
        num_lst = list(str(num))

        for qq in range(-1, -len(num_lst) - 1, -1):
            if int(num_lst[qq]) == 1:
                lst[idx][qq] += 1

        idx += 1

    idx = 0
    for q in arr2:
        num = format(q, 'b')
        num_lst = list(str(num))

        for qq in range(-1, -len(num_lst) - 1, -1):
            if int(num_lst[qq]) == 1:
                lst[idx][qq] += 1

        idx += 1

    # 벽 있는 인덱스는 #으로 표시
    answer = [0 for _ in range(n)]
    for w in range(n):
        temp = ''
        for e in range(n):
            if lst[w][e] != 0:
                temp += '#'

            else:
                temp += ' '
        answer[w] = temp

    return answer

 


해결 방법

 


느낀 점

 

 

ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.