2018 KAKAO BLIND RECRUITMENT 비밀지도 문제
문제 : https://programmers.co.kr/learn/courses/30/lessons/17681
생각
- 지도 두개를 통해 하나의 결과를 도출해야 한다.
- 각 행이 이진수를 나타내면서 지도의 길이에 따라 각 행을 이루는 요소의 개수가 정해진다.
- arr1, arr2가 두 개의 지도를 의미할 때, 각 배열의 요소들이 각 지도의
한 행
을 의미한다. - 따라서 십진수를 이진수로 바꿔주는 함수가 필요하다.
# 2진수 구하는 함수 구하기
def trans(N, num):
result = ""
number = num
while number > 0:
result = str(number % 2) + result
number //= 2
if len(result) < N:
while len(result) < N:
result = "0" + result
return result
# solution함수 작성
def solution(n, arr1, arr2):
answer = [] # ["#####","# # #", "### #", "# ##", "#####"]
answerTmpList = [] # ["11111", "10101", "11101", "10011", "11111"]
for i in range(n):
answerTmp = ""
arr1str = trans(n, int(arr1[i]))
print("arr1 : ", arr1)
arr2str = trans(n, int(arr2[i]))
print("arr2 : ", arr2)
print("i : ", i)
print(arr1[i])
for j in range(n):
if arr1str[j] == "1" or arr2str[j] == "1" :
answerTmp += "1"
elif arr1str[j] == "0" and arr2str[j] == "0":
answerTmp += "0"
answerTmpList.append(answerTmp)
for i in answerTmpList:
answerString = ""
for j in i:
if int(j) == 0:
answerString += " "
elif int(j) == 1:
answerString += "#"
answer.append(answerString)
return answer
반응형
'알고리즘 > 기타 사이트 알고리즘' 카테고리의 다른 글
2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임 (0) | 2020.08.27 |
---|---|
프로젝트 오일러 02번 문제_피보나치 수열 (0) | 2020.08.23 |
하노이의 탑(Tower of Hanoi) (0) | 2020.05.10 |
[구름에듀_데일리알고리즘] KOI_2019 회문(미해결) (0) | 2019.08.13 |
[구름에듀_데일리알고리즘] KOI_2019 막대기 (0) | 2019.08.12 |