반응형
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
'파이썬 이것저것 > 코테준비' 카테고리의 다른 글
[python] Stack을 활용한 괄호검사 알고리즘 (0) | 2023.12.25 |
---|---|
[python] 백준 5597번 과제 안 내신 분..? (0) | 2023.06.04 |
[백준] 10813번: 공 바꾸기 (0) | 2023.05.31 |
[Python] 프로그래머스 코드 처리하기 (0) | 2023.05.05 |
[Python] 배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2023.05.05 |