-
[Programmers] 비밀지도programing/Algorithm 2021. 4. 4. 21:33
비밀지도
2018 KAKAO BLIND RECRUITMENT
level 1
python3
def getBinary(n, num): _num = num _bin = [0] * n for i in range(n): remainder = _num % 2 quotient = _num // 2 _bin[n - 1 - i] = remainder _num = quotient return _bin def getMap(_bin): return ''.join(list(map(lambda x: '#' if x > 0 else ' ', _bin))) def solution(n, arr1, arr2): answer = [] for row in range(n): _bitOr = arr1[row] | arr2[row] _bin = getBinary(n, _bitOr) _map = getMap(_bin) answer.append(_map) return answer
rarr1과 arr에 대해, 각 행 마다 bit or 연산 후, 자릿수만큼 2진법 배열을 얻습니다.
그리고 이것을 문자열로 변환하여, 결과인 answer에 추가합니다.
혹은 파이선 내장 함수인
bin()
을 이용해서 2진 문자열을 바로 얻을수도 있습니다. 다만 이 경우, 자릿수만큼 패딩해주는 로직이 필요합ㄴ다.def solution(n, arr1, arr2): answer = [] for i,j in zip(arr1,arr2): a12 = str(bin(i|j)[2:]) a12=a12.rjust(n,'0') a12=a12.replace('1','#') a12=a12.replace('0',' ') answer.append(a12) return answer
'programing > Algorithm' 카테고리의 다른 글
[Programmers] 124 나라의 숫자 (0) 2021.04.18 [Programmers] [1차] 다트 게임 (0) 2021.04.11 [Programmers] 실패율 (0) 2021.03.28 [Programmers] 예산 (0) 2021.03.28 [Programmers] 소수 만들기 (0) 2021.03.27 댓글