Python/Algorithm

[프로그래머스] 비밀지도 - Python

언킴 2023. 9. 3. 16:57
반응형

해당 문제는 2018 KAKAO BLIND RECRUITMENT에서 출제된 문제다. 프로그래머스 기준 Lvel 1에 해당하는 문제로 10진법을 2진법으로 변환하여 해결할 수 있다. 

def GetMap(arr1, arr2):
    answer = ''
    for a1, a2 in zip(arr1, arr2):
        if a1 == '0' and a2 == '0':
            answer += ' '
        else:
            answer += '#'
    return answer 

def solution(n, arr1, arr2):
    answer = []
    array1, array2 = [], []
    for a1, a2 in zip(arr1, arr2):
        a1 = bin(a1)[2:].rjust(n, '0')
        a2 = bin(a2)[2:].rjust(n, '0')
        answer.append(GetMap(a1, a2))
    return answer

해결하기 위해서는 bin 이라는 함수를 알고 있어야 한다. bin 함수는 10진법을 2진법으로 변환하는 코드로, 만약 9를 2진법으로 변환하면, 1001이라는 값으로 반환한다. 왼쪽 부분에 0으로 공백을 채워야하기 때문에 rjust를 사용하였다.