본문 바로가기
💻 하나씩 차곡차곡/프로그래머스 (Python)

[프로그래머스/python/Lv1] [1차] 비밀지도

by 뚜루리 2023. 12. 21.
728x90
320x100
def solution(n, arr1, arr2):
    answer = []
    for i in range(n):
        num = bin(arr1[i] | arr2[i])
        num = num[2:].zfill(n)
        num = num.replace('1', '#').replace('0', ' ')
        answer.append(num)
    return answer

제대로 못풀어서 이해 가능한 다른분의 깔끔한 코드를 가지고 왔다. 

1. n만큼 포문을 돌려주고

2. bin()함수를 사용해서 2진수로 변환해준다.  변환할 때 아예 두 리스트를 or 연산으로 맹글어 버림. 

3. 2진수로 변환하면 앞에 '0b'가 무조건 붙는데 그래서 [:-2]로 '0b'를 잘라주고 이진수로 변환한게 '00001' 인경우 그냥 '1'로 변환되니까 앞에 0을 붙여줘야 함. 그래서 zfill 함수를 사용해서 앞에 0을 자동으로 붙여준다. 

4. 그리고 1을 #으로 0을 ' '(공백)으로 변환하여 리스트에 담아줌.

 


출처 - 

 

[프로그래머스] Lv.1 [1차] 비밀지도 (Python)

💻[프로그래머스] Lv.1 [1차] 비밀지도 (Python)

velog.io

 

728x90
320x100

뚜루리님의
글이 좋았다면 응원을 보내주세요!