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

seulzzang·2022년 9월 22일
0

코딩테스트 연습

목록 보기
18/44

📍문제

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

📍풀이

  • 사실 문제에 해설 보러가기가 있길래 들어가서 비트연산자 사용하는구나~ 하고 좀 찾아서 풀어본 문제.. 아직 이런 알고리즘 문제는 뚝딱뚝딱 풀기가 힘들다 ㅠ_ㅠ
  1. or비트 연산을 하고 2진법 숫자로 바꿔준다 (bin()함수 사용)
    • or연산은 |, xor연산은 ^, and연산은 &
  2. bin()을 사용하면 2진수로 변환해준 숫자 앞에 0b가 붙는데 앞에 2개 빼고 그 뒤에걸 읽어오고 zfill을 사용해서 앞에 0이 올 수 있도록 한다. 2진수로 변환해줬을 때 글자수가 n이 안되는 경우 맨 앞에 0을 채워줘야 공백으로 치환할 수 있기 때문이다.
  3. 1을 #으로 0을 공백으로 치환한다.
def solution(n, arr1, arr2):
    answer = []
    for i in range(n):
        num = bin(arr1[i] | arr2[i])
        num = num[2:].zfill(n)
        num = num.replace('1', '#').replace('0', ' ')
        answer.append(num)
    return answer

bin()같은 개꿀함수가 있다는걸 알았다^_^ 비트연산자도 까먹지말긔

profile
중요한 것은 꺾이지 않는 마음

0개의 댓글