[프로그래머스 | 파이썬] 비밀지도

devheyrin·2022년 6월 13일
0

codingtest

목록 보기
55/65

문제 링크

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

코드

# 비밀지도 
def getBinary(num, n):
    binary = ['0']*n
    i = 0
    while True:
        binary[i] = str(num % 2)
        i += 1
        if num // 2:
            num //= 2
            continue
        return binary[::-1]


def solution(n, arr1, arr2):
    secret_map = [''] * n
    for i in range(n):
        row1 = getBinary(arr1[i], n)
        row2 = getBinary(arr2[i], n)
        for j in range(n):
            if int(row1[j]) or int(row2[j]):
                secret_map[i] += '#'
            else:
                secret_map[i] += ' '
    return secret_map

풀이 방법

주어진 배열들의 원소를 각각 이진수로 변환해 하나의 행마다 지도를 구한다.
두 행 중 하나라도 1이 있는 칸이면 지도에 #를 더해주고, 그렇지 않다면 공백을 더해준다.

profile
개발자 헤이린

0개의 댓글