728x90
https://school.programmers.co.kr/learn/courses/30/lessons/17681
문제 풀이
문자열에 대한 문제이다.
각 배열의 값을 이진수로 변환했을 때 비트 연산을 해주면 문제에서 원하는 대로
하나라도 1이면 1, 둘 다 0일 때 0으로 만들어 줄 수 있다.
이후 rjust() 함수로 자릿수를 맞춰준 다음에 '#'과 ' '으로 바꾸어주면 된다.
느낀 점
문자열에 대한 함수를 모를 때 되게 긴 코드가 만들어졌지만 알고 나니 엄청 깔끔해졌다.
이게 내장 함수를 아는 힘..?
코드
def solution(n, arr1, arr2):
answer = []
for x, y in zip(arr1,arr2):
tmp = str(bin(x|y)[2:])
tmp = tmp.rjust(n, '0')
tmp = tmp.replace('1', '#')
tmp = tmp.replace('0', ' ')
answer.append(tmp)
return answer
'문제 풀이 > 프로그래머스 (Programmers)' 카테고리의 다른 글
[Python] 프로그래머스 : 예산 (0) | 2022.07.05 |
---|---|
[Python] 프로그래머스 : [1차] 다트 게임 (0) | 2022.07.05 |
[Python] 프로그래머스 : 문자열 내 마음대로 정렬하기 (0) | 2022.07.05 |
[Python] 프로그래머스 : 빛의 경로 사이클 (0) | 2022.07.01 |
[Python] 프로그래머스 : 로또의 최고 순위와 최저 순위 (0) | 2022.07.01 |
댓글