def solution(n, arr1, arr2):
a = []
for i in range(n):
s = ''
arr1[i] = format(int(arr1[i]), 'b').zfill(n)
arr2[i] = format(int(arr2[i]), 'b').zfill(n)
for j in range(len(arr1)):
if arr1[i][j] == '1' or arr2[i][j] == '1':
s += '#'
else:
s += ' '
a.append(s)
return a
파이썬 기본 비트연산자 함수를 사용하면 더 간결하게 짤 수 있다.
zip 이라는 것을 사용하여 하나의 for 문에 객체를 두개를 받을 수 있었고, 이를 활용하여 bin 이라는 2진수로 변환하는 함수를 사용하셨다.
def solution2(n, arr1, arr2):
answer = []
for i,j in zip(arr1,arr2):
a12 = str(bin(i|j)[2:])
a12=a12.rjust(n,'0')
a12=a12.replace('1','#')
a12=a12.replace('0',' ')
answer.append(a12)
return answer
단, bin 을 사용하면 0b라는 문자가 붙기 때문에, [2:]를 함으로써 이를 제거를 하셨다.