파이썬 이것저것/코테준비

[python] 프로그래머스 지도찾기

agingcurve 2024. 2. 11. 17:15
반응형

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

 

비트연산을 통해 #또는 공백을 풀어내는 문제였다.

format으로 이진수를 변경할 때, n길이 만큼 공백형태를 변경해야 됬는데, 이부분을 format함수의 zfill 메서드를 사용해서 해결할 수 있었다.

 

아래에 해결코드이다.

def decrypt_secret_map(n, arr1, arr2):
    decrypted_map = []
    
    for i in range(n):
        # 두 배열의 각 원소를 이진수로 변환하고, 길이를 맞춰줍니다.
        map1_row = format(arr1[i], 'b').zfill(n)
        map2_row = format(arr2[i], 'b').zfill(n)
        
        # 두 지도를 OR 연산하여 합칩니다.
        combined_row = ''.join(['#' if int(map1_row[j]) or int(map2_row[j]) else ' ' for j in range(n)])
        
        # 해독된 지도를 결과 리스트에 추가합니다.
        decrypted_map.append(combined_row)
    
    return decrypted_map