알고리즘 문제풀이 >
프로그래머스 > 2018 KAKAO BLIND RECRUITMENT > [1차] 비밀지도
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'''
1. n x n 크기의 격자로 이루어진 배열이 2개 있는데, 각 배열은 0 또는 1로 이루어져 있으며 이 두 배열의 각 격자를
or 연산한 결과가 우리가 얻고자 하는 비밀지도. input으로는 각 행의 0 또는 1을 2진수로 보아 그 숫자를 10진수로
기록한 값이 저장된 1차원 배열 2개가 들어올 때, 우리가 얻고자 하는 비밀지도를 리턴하는 문제.
2. 파이썬에서 루프를 사용하는 알고리즘은 간단한 경우에는 모두 list comprehension 또는 generator expression으로
코드를 구현할 수 있음. 이 문제도 설명하는 양은 많은데 구현은 딱 두 줄이면 끝낼 수 있는 문제.
'''
def line_str(n, result):
return ''.join(' #'[result & (1<<i) != 0] for i in range(n-1, -1, -1))
def solution(n, arr1, arr2):
return [line_str(n, i|j) for i, j in zip(arr1, arr2)]