본문 바로가기
코딩테스트

[파이썬] 비밀지도 - 2018 KAKAO BLIND RECRUITMENT [CODING TEST #25]

by ALTERww 2022. 7. 29.
320x100

https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

 

이 문제를 읽었을 때 딱 봐도 파이썬 이진수 변환을 이용해서 푸는 것이 좋을 것 같아 공부해볼 겸 찾아보았다.

bin() 내장함수를 이용해서 간단하게 이진수로 바꾸어서 앞에 붙는 '0b'를 슬라이싱으로 제거한다.

그리고 zfill(n) 함수로 앞의 모자란 자리수를 0으로 채운 뒤, replace() 함수로 1을 '#'로, 0을 ' '로 치환한다.

각 arr의 row마다 반복하면 된다.

 

def solution(n, arr1, arr2):
    answer = []
    for i in range(n):
        temp = bin(arr1[i] | arr2[i])
        temp = temp[2:].zfill(n)
        temp = temp.replace('0',' ').replace('1','#')
        answer.append(temp)
    return answer

 

댓글