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

Tony Kim·2022년 1월 21일
0
post-thumbnail

프로그래머스

Lv.1 [1차] 비밀지도

1.문제

input 정수 배열
output 정수배열 이진수 변환하고 # 공백 지도 return

2. 풀이

이진법 함수를 쓰지않고 일일이 변경하였다.
이진법과 rjust, ljust 활용하도록하자.

3. 코드

def solution(n, arr1, arr2):
    answer = []
    temp = []
    map1 = []
    map2 = []
    for arr in arr1:
        answer.append("")
        for i in range(n):
            k = arr % 2
            temp.append(k)
            arr = arr // 2
        temp.reverse()
        map1.append(temp)
        temp = []
    for arr in arr2:
        for i in range(n):
            k = arr % 2
            temp.append(k)
            arr = arr // 2
        temp.reverse()
        map2.append(temp)
        temp = []
    for i in range(n):
        for j in range(n):
            if map1[i][j] == 1 or map2[i][j] == 1:
                answer[i] += "#"
            elif map1[i][j] == 0 and map2[i][j] == 0:
                answer[i] += " "
    return answer
def solution(n, arr1, arr2):
    answer = []
    map1 = []
    map2 = []
    for val1 in arr1:
        answer.append("")
        map1.append(bin(val1)[2:].rjust(n, "0"))
    for val2 in arr2:
        map2.append(bin(val2)[2:].rjust(n, "0"))
    for i in range(n):
        for j in range(n):
            if map1[i][j] == "1" or map2[i][j] == "1":
                answer[i] += "#"
            elif map1[i][j] == "0" and map2[i][j] == "0":
                answer[i] += " "
    return answer

  • 근소하지만 bin을 사용한게 더 나은 코드
bin(x)[2:].rjust(5, "0")
profile
Back-end-dev

0개의 댓글