Programmers

[프로그래머스 / 파이썬 풀이] [1차] 비밀지도

Hoo_Dev 2023. 1. 27. 10:05
def solution(n, arr1, arr2):
    answer = []
    result = []
    
    for arr in [arr1, arr2]:
        map = []
        for i in range(n):
            get_map = []
            m = arr[i]
            while m >= 1:
                a = m % 2
                get_map.append(a)
                m //= 2
            if len(get_map) < n:
                while len(get_map) < n:
                    get_map.append(0)
            map.append(get_map[::-1])
        result.append(map)
        
    for i in range(n):
        map_str = ''
        for j in range(n):
            if result[0][i][j] == 0 and result[1][i][j] == 0:
                map_str += ' '
            else:
                map_str += '#'
        answer.append(map_str)
        
    return answer

map 안에 각각의 지도를 담아 3차원 배열을 만들어 준다.

이후 3차원 배열에 접근하여 둘 다 0이라면 공백을, 아니라면 #을 문자열에 넣고 최종 답에 append