728x90
반응형
비트연산자를 쓸 수 있느냐를 물어보는 문제이다. 처음에는 그냥 bin을 써서 풀었는데,
확실히 비트연산자 쓰는 게 훨씬 편한 것 같다.
풀이 1
def binary(num, n):
b = bin(num)[2:]
return (n - len(b))*'0' + b
def str_sum(n, s1, s2):
s = ''
for i in range(n):
s += '#' if s1[i] == '1' or s2[i] == '1' else ' '
return s
def solution(n, arr1, arr2):
ans = [0]*n
for i in range(n):
ans[i] = str_sum(n, binary(arr1[i], n), binary(arr2[i], n))
return ans
풀이 2
비트연산자와 replace를 사용하니 훨씬 쉽게 풀린다
def solution(n, arr1, arr2):
ans = []
for i in range(n):
b = bin(arr1[i] | arr2[i])[2:]
ans.append((n - len(b))*' ' + b.replace('1', '#').replace('0', ' '))
return ans
728x90
반응형
'Agorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 Level 2 기능개발 (0) | 2022.06.27 |
---|---|
프로그래머스 Level 1 다트 게임 (0) | 2022.06.26 |
프로그래머스 Level 2 거리두기 확인하기 (0) | 2022.06.24 |
프로그래머스 Level 1 실패율 (0) | 2022.06.22 |
프로그래머스 Level 2 메뉴 리뉴얼 (0) | 2022.06.22 |