문제

문제

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

 

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

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

programmers.co.kr

 

처음 작성한 코드

def solution(n, arr1, arr2):
    return [j.replace('1','#').replace('0',' ') for j in [bin(arr1[i]|arr2[i])[2:].zfill(n) for i in range(n)]]
  1. arr1과 arr2을 돌면서 or 연산해서 2진수로 바꾸고 1을 #으로 바꾸고 0을 빈칸으로 바꾸고 return 했다.

 

깨달은 점

  • zfill(n) 하면 n자리수만큼 0으로 채워준다. '1'인데 n=5면 '00001'로 만들어준다~ 개쩐당!
  • bin(1) 하면 1을 2진수로 변환해주는데 이때 문자열로 반환해준다. '0b1' 이런식으로..
  • format(0b1111,'b') 하면 1111 반환해주는데 이진수 문자열은 안되고 이진수만 되서 [2:]이렇게 해서 0b를 없애버렸다.

'Programmers' 카테고리의 다른 글

[프로그래머스] 키패드 누르기  (0) 2021.01.14
[프로그래머스] 다트 게임  (0) 2021.01.14
[프로그래머스] 실패율  (0) 2021.01.13
[프로그래머스] 튜플  (0) 2021.01.11
[프로그래머스] 뉴스 클러스터링  (0) 2021.01.10