Covenant


Kakao: 서버 개발 인턴 robin의 성장기를 읽어보세요~
Source. 카카오가 신입 개발자 크루를 맞이하는 법


📖 비밀지도 문제 확인




✏️ 문제 해결방법


  • 문제의 그림에서 자연수를 2진수로 변환하는 부분이 나옵니다. 이를 통해서 이진수로 무엇을 해야한다고 생각할 수 있습니다.
  • 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 라는 표현을 통해서 OR 비트 연산을 해야함을 알 수 있습니다.
  • [2:]를 하는 이유는 정수를 bin으로 작성하면 0b11111이 나옵니다. 여기서 0b는 이진수를 표현하기 위한 문자이므로 이를 제거하고 11111만 사용하기 위함입니다.
  • string.replace("A", "B").replace("C", "D") 와 같이 replace를 이어서 한 줄로 사용할 수 있습니다.


⭕ 최종 풀이

def solution(n, arr1, arr2):
    ans = []
    for i in range(n):
        bin_str = bin(arr1[i] | arr2[i])[2:]
        ans.append(("0" *(n - len(bin_str)) + bin_str).replace("1", "#")
                                                      .replace("0", " "))
    return ans