알고리즘/프로그래머스

[파이썬][프로그래머스] Lv. 1 [1차] 비밀지도

SBOX Learning by doing 2022. 6. 22. 00:09
반응형
def solution(n, arr1, arr2):
    answer = []

    # 이진수 해독
    pw_arr1 = password(n, arr1)
    pw_arr2 = password(n, arr2)

    # 공백 찾기
    answer = load(pw_arr1, pw_arr2, n)
    return answer

def load(pw_arr1, pw_arr2, n):
    answer = []
    for i in range(n):
        temp = ""
        for j in range(n):
            if (pw_arr1[i][j] == "#") | (pw_arr2[i][j] == "#"):
                temp += "#"
            else:
                temp += " "
        answer.append(temp)
    return answer


# 패스워드 이진수 해독
def password(n, arr):
    answer = []

    # n 부터 -1 씩 작아지면서 
    for i in arr: 
        temp = ""
        for j in range(n-1,-1,-1):

            #나눠지는값이 1이상이면
            if i // 2**j > 0:
                # 값을 빼고 
                i -= 2**j
                # 다음값으로 나누기
                temp += "#"
            # 나눠지지 않으면 공백
            else:
                temp += " "
        answer.append(temp)
    return answer
반응형