코딩문제풀이/파이썬
[프로그래머스] 비밀지도 (파이썬)
오늘밤공부
2023. 3. 3. 12:45
반응형
🗓️ 문제 설명
- 네오는 프로도가 비상금을 숨겨놓은 장소를 알려줄 비밀지도를 손에 넣었습니다.
- 지도는 한 변의 길이가 n인 정사각형 배열 형태로 각 칸은 공백(' ') 또는 벽('#') 두 종류로 이루어져 있습니다.
- 전체 지도는 2장의 지도를 겹쳐서 얻을 수 있으며, 지도 1과 지도 2에서 하나라도 벽인 부분은 전체 지도에서도 벽입니다.
- 2장의 지도에서 모두 공백인 부분은 전체 지도에서도 공백입니다.
- 지도 1과 지도 2는 각각 정부 배열로 암호화되어 있습니다.
- 암호화된 지도에서 벽 부분은 1, 공백 부분은 0으로 부호화했을 때, 얻어지는 이진수에 해당하는 값의 배열입니다.
- 제한 사항
- 1 ≤ n ≤ 16
- arr1, arr2는 길이 n인 정수 배열
- 정부 배열의 각 원소 x를 이진수로 변환했을 때의 길이는 n 이하
- 입출력 예시
n | arr1 | arr2 | 출력 |
5 | [9, 20, 28, 18, 11] | [30, 1, 21, 17, 28] | ['#####', '# # #', '### #', '# ##', ' #####'] |
6 | [46, 33, 33, 22, 31, 50] | [27, 56, 19, 14, 14, 10] | ['######', '### #', '## ##', ' #### ', ' #####', '### # '] |
💻 코드
최종 코드
코드 풀이
다른 사람 풀이
더보기

풀이 1번

- 3번줄 : arr1과 arr2의 원소 i, j를 꺼내는 반복문
- 4번줄 : i와 j의 이진수 값을 or로 묶어서 'b'아래의 부분만 저장
- 5번줄 : 4번줄에서 만든 값의 오른쪽에 0을 채워넣음
- 6번줄 : '1'을 '#'으로 변경(1을 벽으로 변경)
- 7번줄 : '0'을 ' '으로 변경(0을 공백으로 변경)
- 8번줄 : 벽과 공백으로 바꾼 값을 answer에 추가하여 반환
사용 함수
더보기
- bin(number) : number를 이진수로 변경
- func.zfill(n) : n의 자릿수만큼 0을 채움
반응형