1
2
3
4
5
6
7
8
9
10
11
12
13
14
'''
1. n x n 크기의 격자로 이루어진 배열이 2개 있는데, 각 배열은 0 또는 1로 이루어져 있으며 이 두 배열의 각 격자를
   or 연산한 결과가 우리가 얻고자 하는 비밀지도. input으로는 각 행의 0 또는 1을 2진수로 보아 그 숫자를 10진수로 
   기록한 값이 저장된 1차원 배열 2개가 들어올 때, 우리가 얻고자 하는 비밀지도를 리턴하는 문제.

2. 파이썬에서 루프를 사용하는 알고리즘은 간단한 경우에는 모두 list comprehension 또는 generator expression으로
   코드를 구현할 수 있음. 이 문제도 설명하는 양은 많은데 구현은 딱 두 줄이면 끝낼 수 있는 문제.
'''

def line_str(n, result):
    return ''.join(' #'[result & (1<<i) != 0] for i in range(n-1, -1, -1))

def solution(n, arr1, arr2):
    return [line_str(n, i|j) for i, j in zip(arr1, arr2)]