LEVEL1/비밀지도

Q·2021년 8월 1일
0

문제 설명


전체 코드

def solution(n, arr1, arr2):
    def trans(num):
        nonlocal n
        answer = []
        while num != 0:
            answer.append(num%2)
            num //= 2

        if len(answer) < n:
            for i in range(len(answer),n):
                answer.append(0)

        answer.reverse()
        return answer

    matrix1 = []
    matrix2 = []
    matrix = []
    for i in range(n):
        matrix1.append(trans(arr1[i]))
        matrix2.append(trans(arr2[i]))


    for i in range(n):
        line = ''
        for j in range(n):
            if matrix1[i][j] == 1 or matrix2[i][j] == 1:
                line += '#'
            else:
                line += ' '
        matrix.append(line)

    return matrix

해결 방법

단순한 구현문제이다. num이라는 10진수를 넣었을때 10진수를 2진수로 변환하는 trans라는 함수를 작성하고 arr1과 arr2안의 원소값을 trans로 변환시켜 각각 matrix1과 matrix2에 넣은뒤에 matrix1과 matrix2 둘 중 하나라도 1이 있다면 #를 아니라면 공백을 line이라는 string변수에 넣어 최종 matrix라는 리스트에 append해준 뒤에 결과를 return 한다.

profile
Data Engineer

0개의 댓글