반응형
def solution(n, arr1, arr2):
answer = []
map = [['#' for i in range(n)] for j in range(n)]
temp1 = arr1
temp2 = arr2
for i in range(n):
for j in range(n):
if (temp1[i] % 2 == 0 ) and (temp2[i]%2==0):
map[i][-1-j] = ' '
temp1[i] = temp1[i] // 2
temp2[i] = temp2[i] // 2
m = ''
for j in range(n):
m += map[i][j]
answer.append(m)
return answer
내가 푼 코드 이진법을 처리하는 함수를 몰라서 직접 해결.
def solution(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
비트연산과 처음보는 rjust라는 함수를 이용해서 아주 가독성 좋게 풀어낸 코드가 있길래 가져온다.
반응형
'코딩테스트 연습' 카테고리의 다른 글
프로그래머스_다트게임_파이썬 (0) | 2020.12.28 |
---|---|
x만큼 간격이 있는 n개의 숫자_파이썬 (0) | 2020.12.24 |
프로그래머스_행렬의덧셈_파이썬 (0) | 2020.12.23 |
프로그래머스_핸드폰 번호 가리기_파이썬 (0) | 2020.12.23 |
프로그래머스_하샤드수_파이썬 (0) | 2020.12.22 |
댓글