[ 문제 ]
[출제 의도]
- 비트 연산자 활용
[ 문제 풀이 ]
지도1과 지도2의 각 정수를 비트 OR 연산자를 이용해 합칩니다.
합친 결과의 길이가 N보다 짧다면 앞 부분에 공백을 넣어 길이를 N으로 맞춥니다.
마지막으로 0은 공백으로 1은 #으로 치환하면 됩니다.
[ 정답 코드 ]
def solution(n, arr1, arr2):
answer = [""] * n
for i in range(n):
tmp = str(bin(arr1[i] | arr2[i]))[2:] # 비트 OR
answer[i] = (n % len(tmp)) * "0" + tmp # 고정길이 N
answer[i] = answer[i].replace("0", " ")
answer[i] = answer[i].replace("1", "#")
return answer
print(solution(6, [46, 33, 33 ,22, 31, 50], [27 ,56, 19, 14, 14, 10]))
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][2018 KAKAO BLIND RECRUITMENT][Python] 다트 게임 (0) | 2022.05.24 |
---|---|
[프로그래머스][2018 KAKAO BLIND RECRUITMENT][Python] 방금그곡 (0) | 2022.05.16 |
[프로그래머스][2019 KAKAO BLIND RECRUITMENT][Python] 오픈채팅방 (0) | 2022.03.31 |
[프로그래머스][2019 KAKAO BLIND RECRUITMENT][Python] 매칭 점수 (0) | 2022.03.28 |
[프로그래머스][2020 KAKAO BLIND RECRUITMENT][Python] 괄호 변환 (0) | 2022.03.23 |