2023-05-30 TIL

0v0baek·2023년 5월 30일
0

TIL

목록 보기
64/92

[programmers] 비밀지도

문제 링크

내 풀이

def solution(n, arr1, arr2):
    arr1 = [['#' if i == '1' else ' ' for i in bin(num)[2:].zfill(n)] for num in arr1]
    arr2 = [['#' if i == '1' else ' ' for i in bin(num)[2:].zfill(n)] for num in arr2]

    for i in range(n):
        for j in range(n):
            if arr1[i][j] == ' ' and arr2[i][j] == '#':
                arr1[i][j] = '#'

    return [''.join(num) for num in arr1]

먼저 받아온 arr1arr2bin 함수로 이진수화한다.
그리고 [2:]0b를 없애준 뒤,
zfill함수로 남은 칸을 0으로 채워준다.

그런 다음에 for문을 돌리면서 0일경우 빈칸, 1일경우 #으로 바꿔준다.

변환이 끝나면 다시 for문을 돌려가면서
arr1가 빈칸인데 arr2가 #인 경우를 채워나간다.

마지막으로, join함수를 이용해 이차원 배열 안의 원소들을 문자열으로 합쳐준다.

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글