
네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.

입력으로 지도의 한 변 크기 n 과 2개의 정수 배열 arr1, arr2가 들어온다.
원래의 비밀지도를 해독하여 '#', 공백으로 구성된 문자열 배열로 출력하라.
| n | 5 | 
|---|---|
| arr1 | [9, 20, 28, 18, 11] | 
| arr2 | [30, 1, 21, 17, 28] | 
| 출력 | ["#####","# # #", "### #", "# ##", "#####"] | 
| n | 6 | 
|---|---|
| arr1 | [46, 33, 33 ,22, 31, 50] | 
| arr2 | [27 ,56, 19, 14, 14, 10] | 
| 출력 | ["######", "### #", "## ##", " #### ", " #####", "### # "] | 
def solution(n, arr1, arr2):
    answer = []
    for i,j in zip(arr1,arr2):
        a = str(bin(i|j)[2:].zfill(n))  
        #하나만 1이어도 1이므로 bin(i|j)
        a=a.replace("1","#")
        a=a.replace("0"," ")
        answer.append(a)
    return answer
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/17681