Algorithm/Programmers

[Programmers] Lv1. [1차] 비밀지도

by somida 2021. 5. 15.

문제

바로가기

 

코딩테스트 연습 - [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다

programmers.co.kr

 

풀이

  • 다른 방식으로도 풀었지만, 정규표현식 연습을 위해 정규표현식을 사용해 풀어보았다,
  • 첫 글자가 0이면 나타나지 않기 때문에, 중간에 0을 앞자리에 채워주는 코드가 필요했다.
  • 그리고 정규표현식을 사용해 1을 '#'으로 0을 ' '으로 치환

 

코드

import re

def solution(n, arr1, arr2):
    answer = []
    for i in range(n):
        bin_num = str(bin(arr1[i]|arr2[i]))[2:]
        bin_num = re.sub('1', '#', '0' * (n - len(bin_num)) + bin_num)
        bin_num = re.sub('0', ' ', bin_num)
        answer.append(bin_num)
    return answer

 

반응형

댓글