본문 바로가기

study/알고리즘

[알고리즘/프로그래머스] 비밀지도

2018 KAKAO BLIND RECRUITMENT > [1차] 비밀지도

 

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

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

programmers.co.kr

 

나의 풀이 

 

- 비트연산자 ㅣ 사용

- 이진수 변환 함수 bin() --> 출력값 0bXXX (str형)

- replace 함수 사용

def solution(n, arr1, arr2):
    answer = []
    
    for i in range(n): 
        bin_str = bin(arr1[i] | arr2[i]).replace('b', '0')[-n:]
        answer.append(((n-len(bin_str))*'#'+bin_str).replace('1', '#').replace('0', ' '))
        
    return answer

 

다른 사람의 풀이

 

- rjust 함수

  문자열.rjust(전체 자리 숫자, 공백이 있을 경우 공백을 채울 텍스트) 

- zip으로 묶어서 for문 사용

 

def solution(n, arr1, arr2):
    answer = []
    for i,j in zip(arr1,arr2):
        a12 = str(bin(i|j)[2:])
        a12=a12.rjust(n,'0')
        a12=a12.replace('1','#')
        a12=a12.replace('0',' ')
        answer.append(a12)
    return answer