-
[프로그래머스 Python] 비밀지도(from kakao)Algorithm/1일 1코테 2020. 10. 13. 21:05반응형
문제
programmers.co.kr/learn/courses/30/lessons/17681
내 풀이
def solution(n, arr1, arr2): for num, i in enumerate(arr1): #arr1을 숫자->이진수->#,공백으로 변환 b = bin(i)[2:] if len(b) < n: b = '0' * (n-len(b)) + b b = b.replace('1','#') b = b.replace('0',' ') arr1[num] = b for num, i in enumerate(arr2): #arr2도 마찬가지 b = bin(i)[2:] #bin을 써서 앞에 두개를 빼줌 if len(b) < n: #n 길이보다 작으면 b = '0' * (n-len(b)) + b #자릿수를 맞추기 위해 앞에 0을 붙여줌 b = b.replace('1','#') b = b.replace('0',' ') arr2[num] = b #숫자를 b로 변환 # arr1이 공백인데, arr2가 #이면 #을 넣어주는 과정 answer = [] for i in range(n): a = '' for j in range(n): if arr1[i][j] == ' ' and arr2[i][j] == '#': a += '#' else: a += str(arr1[i][j]) answer.append(a) return answer
다른사람 풀이
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
zip함수 - 동일한 길이의 리스트를 묶어주는 역할.
rjust - 패딩(채워주는 역할) ----> 함수가 있었다..
이렇게 간단하다니~~~~~~~~~~~~~!
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[프로그래머스 Python] 캐시 (from kakao) (0) 2020.10.16 [프로그래머스 Python] 다트게임 (from kakao) (0) 2020.10.14 [백준 Python] 1094 막대기 (0) 2020.09.27 [🤷♀️ 프로그래머스 Python] 체육복 (0) 2020.09.23 [프로그래머스 Python] 핸드폰 번호 가리기 (0) 2020.09.23