Algorithm (PS)

[카카오] 비밀지도 Python 풀이

minjiwoo 2022. 9. 22. 00:37
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제에서 하라는대로 열심히 구현을 하면 되는 문제이다 

알아두면 편한 것 : 10진수를 2진수로 바꿔주는 파이썬 모듈 bin() 를 활용하면 되는데 접두어 0b가 붙으니까 이걸 슬라이싱 해줬다 

파이썬..역시 편하다 ㅎㅎ

def solution(n, arr1, arr2):
    answer = ["" for _ in range(n)]
    a = [] # map 1
    b = [] # map 2
    for i in arr1:
        binary = bin(i)
        binary = binary[2:] # 접두어 빼기 
        if len(binary) < n:
            temp = '0'*(n - len(binary))+binary
            a.append(temp)
        else:
            a.append(binary)
            
    for i in arr2:
        binary = bin(i)
        binary = binary[2:] # 접두어 빼기 
        if len(binary) < n:
            temp = '0'*(n - len(binary))+binary
            b.append(temp)
        else:
            b.append(binary)
    
    for i in range(n):
        for j in range(n):
            if a[i][j] == '0' and b[i][j] == '0':
                answer[i] += " "
            else:
                answer[i] += "#"
                
    return answer
728x90