문제
https://programmers.co.kr/learn/courses/30/lessons/17681
처음 작성한 코드
def solution(n, arr1, arr2):
return [j.replace('1','#').replace('0',' ') for j in [bin(arr1[i]|arr2[i])[2:].zfill(n) for i in range(n)]]
- arr1과 arr2을 돌면서 or 연산해서 2진수로 바꾸고 1을 #으로 바꾸고 0을 빈칸으로 바꾸고 return 했다.
깨달은 점
- zfill(n) 하면 n자리수만큼 0으로 채워준다. '1'인데 n=5면 '00001'로 만들어준다~ 개쩐당!
- bin(1) 하면 1을 2진수로 변환해주는데 이때 문자열로 반환해준다. '0b1' 이런식으로..
- format(0b1111,'b') 하면 1111 반환해주는데 이진수 문자열은 안되고 이진수만 되서 [2:]이렇게 해서 0b를 없애버렸다.
'Programmers' 카테고리의 다른 글
[프로그래머스] 키패드 누르기 (0) | 2021.01.14 |
---|---|
[프로그래머스] 다트 게임 (0) | 2021.01.14 |
[프로그래머스] 실패율 (0) | 2021.01.13 |
[프로그래머스] 튜플 (0) | 2021.01.11 |
[프로그래머스] 뉴스 클러스터링 (0) | 2021.01.10 |