나의 풀이
def translator(num, n):
result = []
if num == 0:
result.append(0)
while num > 0:
if num % n < 10:
result.append(num % n)
else:
result.append(chr(num % n - 10 + ord('A')))
num //= n
return result[::-1]
answer=[]
def solution(n, arr1, arr2):
for x,y in zip(arr1, arr2):
num1 =(x | y)
num2=translator(num1, 2)
# print(num2)
cha=n -len(num2)
if cha>0:
for i in range(cha):
num2.insert(0,0)
print()
print(num2)
str1 = ""
for i in num2:
if i == 1:
str1+="#"
elif i == 0:
str1+=" "
answer.append(str1)
return answer
다른 사람의 풀이
def solution(n, arr1, arr2):
answer = []
for i,j in zip(arr1,arr2):
a12 = str(bin(i|j)[2:])
a12=a12.rjust(n,'0')
a12=a12.replace('1','#')
a12=a12.replace('0',' ')
answer.append(a12)
return answer
▶ rjust() 메서드가 핵심임
'프로그래머스(파이썬) > LV.1(파이썬)' 카테고리의 다른 글
k번째 수-슬라이싱★★ (0) | 2022.12.17 |
---|---|
문자열 내 마음대로 정렬하기→특이한 정렬과 유사★ (0) | 2022.12.17 |
최소직사각형→a,b의 교환, for a, b in sizes 행마다 각각 요소접근★★ (0) | 2022.12.16 |
시점암호★★ → 순환(%) + 아스키 코드 + 문자열에서 find() 메서드+list(문자열) (0) | 2022.12.16 |
예산→ 미리 전부 더하고 비교하기 +pop()★ (0) | 2022.12.16 |