코딩테스트
[1차] 비밀지도
개발천재나천재
2023. 1. 11. 14:43
문제
https://school.programmers.co.kr/learn/courses/30/lessons/17681
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
def getBinaryNum(n, num):
lists = []
while True:
remainder = num % 2
num = num // 2
lists.append(remainder)
if num < 2:
lists.append(num)
break
if len(lists) < n:
add = n - len(lists)
for i in range(add):
lists.append(0)
lists.reverse()
return lists
def solution(n, arr1, arr2):
answer = []
maps1 = []
maps2 = []
for elem1, elem2 in zip(arr1, arr2):
maps1.append(getBinaryNum(n, elem1))
maps2.append(getBinaryNum(n, elem2))
for map1, map2 in zip(maps1, maps2):
add_list = []
for elem1, elem2 in zip(map1, map2):
if (elem1 == 1 or elem2 == 1):
add_list.append("#")
elif(elem1 == 0 and elem2 == 0):
add_list.append(" ")
_add = "".join(add_list)
answer.append(_add)
return answer