본문 바로가기
코딩/프로그래머스 레벨1

프로그래머스 lv1 비밀지도 (69%) 파이썬 풀이

by 큰고양2 2023. 9. 9.

https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(n, arr1, arr2):

    answer=[]
    ran = list(range(n)) #n까지 숫자 배열
    ran.sort(reverse=True)
    map1 = []  #1번 지도
    map2 = []  #2번 지도
    for i in arr1 :   #1번 지도
        a = ''
        b = int(i)
        for z in ran :
            a += str(b//(2**z))#해독
            b = b%(2**z)
        map1.append(a)    
    for i in arr2 :   #2번 지도
        a = ''
        b = int(i)
        for z in ran :
            a += str(b//(2**z))  #해독
            b = b%(2**z)
        map2.append(a)    
    for i in range(n)  :#지도 병합 및 변경
        b =''
        for x in range(n) :
            if (map1[i][x] == '0') and (map2[i][x] == '0') :
                b += ' '
            else :
                b += '#'
        answer.append(b)
    return answer