공부/코딩테스트

[프로그래머스] 2018 KAKAO BLIND RECRUITMENT 비밀지도

ghhong 2021. 1. 11. 11:02

나의 답 :

def solution(n, arr1, arr2):
    answer = []
    s=''
    for i in range(n):
        arr1[i]=format(arr1[i],'b')
        arr2[i]=format(arr2[i],'b')
        arr1[i]='0'*(n-len(arr1[i]))+arr1[i]
        arr2[i]='0'*(n-len(arr2[i]))+arr2[i]
        for j in range(n):
            if int(arr1[i][j]) or int(arr2[i][j]):
                s+='#'
            else:
                s+=' '
        answer.append(s)
        s=''
    return answer

다른 사람의 답 :

def solution(n, arr1, arr2):
    answer = []
    for i,j in zip(arr1, arr2):
        a = str(bin(i|j)[2:])
        a = a.rjust(n, '0')
        a = a.replace('1','#')
        a = a.replace('0',' ')
        answer.append(a)
    return answer

rjust : 오른쪽 정렬 후 비는 공간을 채운다

bin(a|b) : a와 b를 or연산