공부 서랍장/알고리즘 공부

[프로그래머스] [1차]비밀지도 python

만땅이 2022. 9. 17. 20:54

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

 

프로그래머스

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

programmers.co.kr

    # 2진법으로 바꾸기 = (bin(10))
    # 8진법으로 바꾸기 = (oct(10))
    # 10진법으로 바꾸기 = (hex(10))

def solution(n, arr1, arr2):
    answer, tmp = [], []

    for x, y in zip(arr1,arr2):
        # 2진법으로 변경
        x = str(int(bin(x)[2:]))
        y = str(int(bin(y)[2:]))
        
        add = list(str(int(x)+int(y)))

        # 자릿수 맞추기
        if len(add) < n:
            add = ["0"] *(n-len(add)) + add
            
        #벽은 1, 공백은 0 으로 변환
        for i in range(n):
            if int(add[i]) >= 1:
                tmp.append("#")
            else:
                tmp.append(" ")
    # 답지화
    for i in range(0,n*n,n):
        answer.append(''.join(tmp[i:i+n]))

    return answer

반응형