반응형
카카오 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:] 슬라이싱을 해줍니다.
홍머스 정리
- 비트 연산
- 난이도: 하
반응형
'Computer > Coding Test' 카테고리의 다른 글
코딩테스트 문제 (13) - 부분 집합 (0) | 2021.02.25 |
---|---|
코딩테스트 문제 (12) - 상위 K 빈도 요소 (0) | 2021.02.25 |
코딩테스트 문제 (10) - 배열의 K 번째 큰 요소 (0) | 2021.02.24 |
코딩테스트 문제 (9) - 효율적인 화폐구성 (0) | 2021.02.24 |
코딩테스트 문제 (8) - 개미 전사 (0) | 2021.02.24 |