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 한다.