[プログラマー](python)秘密地図-2018 KAKAO BLIND RECRUIMENT
質問する
リストはそれぞれバイナリ に変換する.5桁 は、それぞれが「1」、「0」であるかどうかを比較し、新しいリストに「#」、「 」を入れる配列である.
各5文字列、出力
bin(i|j)[2:]前の0 bを除去して を変換する.私のコードの同じ部分 文字列変換 str(1)👉🏻# 危害) 文字列の前に0 を入力します.私のコードではこれと同じです.^^
🧩 首都コード
各
🏁 説明する
def solution(n,arr1,arr2):
new_arr1 = []
new_arr2 = []
sum_arr = []
for i in range(len(arr1)):
new_arr1.append(format(arr1[i], 'b'))
if len(new_arr1[i]) < n:
new_arr1[i] = (n-len(new_arr1[i]))*'0'+new_arr1[i]
new_arr2.append(format(arr2[i], 'b'))
if len(new_arr2[i]) < n:
new_arr2[i] = (n-len(new_arr2[i]))*'0'+new_arr2[i]
for i in range(len(new_arr1)):
for j in range(len(new_arr2)):
if new_arr1[i][j] == '0' and new_arr2[i][j] == '0':
sum_arr.append(' ')
elif new_arr1[i][j] or new_arr2[i][j] == '1':
sum_arr.append('#')
sum_arr = ''.join(sum_arr)
answer = list(map(''.join, zip(*[iter(sum_arr)]*n)))
return answer
📌 环保形式的复印
📌 ''.join()文字列的标志,文字列的唇膏
🧩 別の解釈
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
📌 bin(i|j)
new_arr1.append(format(arr1[i], 'b'))
📌 rjust()
if len(new_arr1[i]) < n:
new_arr1[i] = (n-len(new_arr1[i]))*'0'+new_arr1[i]
📌 replace()
🧩 その他の解釈。
solution = lambda n, arr1, arr2: ([''.join(map(lambda x: '#' if x=='1' else ' ', "{0:b}".format(row).zfill(n))) for row in (a|b for a, b in zip(arr1, arr2))])
Reference
この問題について([プログラマー](python)秘密地図-2018 KAKAO BLIND RECRUIMENT), 我々は、より多くの情報をここで見つけました https://velog.io/@richeberry/프로그래머스python-비밀-지도-2018-KAKAO-BLIND-RECRUITMENTテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol