본문 바로가기

Computer/Coding Test

코딩테스트 문제 (11) - 비밀 지도

반응형

카카오 2018년 블라인드 코딩테스트 1번 문제입니다. 바로 문제부터 보겠습니다.

문제

1. array1 = [9,20,28,18,11], array2 = [30,1,21,17,28]
=> ['#####','# # #','### #','# ## ','#####']

2. array1 = [46,33,33,22,31,50], array2 = [27,56,19,14,14,10]
=> ['######','### # ','## ## ',' #### ',' #####','### # ']

풀이

지도의 각 위치마다 두 개의 지도에서 어느 하나라도 '#' 이 있을 경우 '#'이고 모두 공백일 경우 공백으로 처리하는 부분에서 OR (|) 오퍼레이션을 사용하는 것을 알 수 있습니다.

파이썬의 bin은 정수를 이진화를 시켜줍니다. 이 때 string 타입으로 return되며 앞에 2진수임을 표현하는 '0b'가 붙어있습니다. 따라서 OR 오퍼레이션 이후에 '0b'부분을 삭제하기 위해 bin(n1 | n2)[2:] 슬라이싱을 해줍니다.

홍머스 정리

  • 비트 연산
  • 난이도: 하
반응형