# 문제풀이
def solution(n, arr1, arr2):
answer = []
for i in range(n):
# 10진수로 or 연산 후 2진수로 변환
tmp = bin(arr1[i] | arr2[i])
# 앞에 0을 붙이고 싶을 때 사용하는 함수 'zfill'
tmp = tmp[2:].zfill(n)
tmp = tmp.replace('1', '#').replace('0', ' ')
answer.append(tmp)
return answer
- bin() 내장 함수와 zfill(), replace()를 이용하여 해결하였다.
- 솔직히 zfill() 함수는 처음 본다...
- 풀이를 하자면 arr1[i] 와 arr2[i] 리스트를 or 연산자 ('|')를 사용하여 연산 후 bin() 함수를 사용해 10진수 -> 2진수로 변환시키고, zfill() 함수를 이용하여 변환된 2진수에 길이를 맞추기 위해 앞에 '0'을 삽입한다.
- replace()를 이용해서 1은 -> #으로 0은 -> ' ' 공백으로 변환시켜주면 해결~
# 문제출처
https://school.programmers.co.kr/learn/courses/30/lessons/17681
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Algoritm > programmers' 카테고리의 다른 글
[programmers] LV1. 두 개 뽑아서 더하기 (0) | 2023.02.22 |
---|---|
[programmers] LV1. 숫자 문자열과 영단어 (0) | 2023.02.22 |
[programmers] LV1. 문자열 내 마음대로 정렬하기 (0) | 2023.02.20 |
[programmers] LV1. 문자열 다루기 기본 (0) | 2023.02.02 |
[programmers] LV1. 없는 숫자 더하기 (0) | 2023.01.30 |