🌞Algorithm/🔥programmers

[programmers] [1차] 비밀지도 - 2018 KAKAO BLIND RECRUITMENT

뿌야._. 2021. 1. 3. 22:07

<[1차] 비밀지도>

 

문제(출처: https://school.programmers.co.kr/learn/courses/30/lessons/17681)

 

 

문제 풀이

    - my solution

def solution(n, arr1, arr2):
    answer = []
    
    for i in range(n):
        result=""
        temp=(bin(arr1[i] | arr2[i])) #2진수 and
        if(len(temp)<n+2): #길이 부족한 수 -> 0 채우기
            tempzero=""
            for j in range(n+2-len(temp)):
                tempzero+="0"
            temp=temp[0:2]+tempzero+temp[2:]
        for j in range(2,len(temp)): # #과 공백으로 구성
            if(temp[j]=="1"):
                result+="#"
            else:
                result+=" "    
        answer.append(result)
    return answer

  1) 십진수를 파이썬에서 제공하는 내장 함수 bin을 이용하여 이진수로 변경한 후 and 연산

  2) 맨 앞 0이 사라지는 것 해결하기 위해 길이 확인하여 부족한 길이에 0 추가

  3) 반복문 사용 -> 1이면 #추가, 0이면 공백 추가


문제는 길었지만 파이썬의 내장 함수를 사용하여 간단하게 해결할 수 있었다!

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges