2018 KAKAO BLIND RECRUITMENT秘密地図(lv 1)
7748 ワード
解答コード1
def solution(n, arr1, arr2):
answer = []
for i in range(n):
temp1 = list(map(int, list(format(arr1[i], 'b'))))
temp2 = list(map(int, list(format(arr2[i], 'b'))))
while len(temp1) < n:
temp1.insert(0, 0)
while len(temp2) < n:
temp2.insert(0, 0)
for j in range(n):
if temp2[j] == 1 or temp1[j] == 1:
temp1[j] = '#'
else:
temp1[j] = ' '
answer.append("".join(temp1))
return answer
解答コード2
def solution(n, arr1, arr2):
answer = []
for i, j in zip(arr1, arr2): # for문의 iterator를 pair로 받음
a12 = str(bin(i | j)[2:]) #bin 함수는 'ob + 2진수 변환 수'를 return 해서 2:부터 받아 ob를 제거
#(i | j)는 i랑 j를 이진 변환하고, 같은 자리에 모두 0이 오면 0, 하나라도 1이 있으면 1로
a12 = a12.rjust(n, '0') # 오른쪽 정렬 후 -> 문자열.rjust(전체 자리 숫자, 공백이 있을 경우 채울 텍스트)
a12 = a12.replace('1', '#')
a12 = a12.replace('0', ' ')
answer.append(a12)
return answer
学識
1.バイナリビット演算子
2.zip関数
Reference
この問題について(2018 KAKAO BLIND RECRUITMENT秘密地図(lv 1)), 我々は、より多くの情報をここで見つけました https://velog.io/@yibangwon/2018-KAKAO-BLIND-RECRUITMENT-비밀지도-lv1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol