티스토리 뷰
What I Learned/Algorithm Practice
[programmers - python] Lv.1: 비밀지도 (2018 KAKAO BLIND RECRUITMEN, [1차])
Interrobang 2022. 12. 22. 17:02문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
def solution(n, arr1, arr2):
for i in range(n):
arr1[i] = toBinary(arr1[i], n)
arr2[i] = toBinary(arr2[i], n)
answer = []
for i in range(n):
row = ""
for j in range(n):
if arr1[i][j] == 0 and arr2[i][j] == 0:
row += " "
else:
row += "#"
answer.append(row)
return answer
def toBinary(num, n):
binary = []
digit = [2**(n-i-1) for i in range(n)]
for i in digit:
binary.append(num // i)
num %= i
return binary
*key point: 십진수를 리스트 형태의 이진수로 변환하는 함수를 정의한다. 이를 활용하여 주어진 두 배열을 2차원 배열로 변환하고 반복문과 조건문을 이용하여 주어진 조건에 맞는 결과를 새로운 리스트로 출력한다.
*comment: 다음 함수를 활용하면 더 간단한 풀이가 가능하다.
- bin() 함수: 정수형 자료를 이진수로 변환하여 문자열로 나타내주는 함수. 단순 변환 뿐 아니라 &, |, ~, ^, <<, >> 등을 이용한 다양한 연산을 동시에 가능하게 한다.
- rjust(), center(), ljust() 함수: 오른쪽, 중앙, 혹은 왼쪽으로 문자열을 정렬하여 특정 길이의 문자열로 출력하는 함수. 이때 빈 곳을 원하는 문자로 채울 수 있다.
*Hansol Eom, 열혈코딩님의 풀이
def solution(n, arr1, arr2):
answer = []
for i in range(n):
a = str(bin(arr1[i]|arr2[i])[2:]).rjust(n,'0').replace('1','#').replace('0',' ')
answer.append(a)
return answer
'What I Learned > Algorithm Practice' 카테고리의 다른 글
[programmers - python] Lv.0: 두 정수 사이의 합 (0) | 2022.12.23 |
---|---|
[programmers - python] Lv.1: 핸드폰 번호 가리기 (0) | 2022.12.22 |
[programmers - python] Lv.0: 문자열 내 마음대로 정렬하기 (0) | 2022.12.22 |
[programmers - python] Lv.0: 평행 (0) | 2022.12.21 |
[programmers - python] Lv.0: 안전지대 (0) | 2022.12.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 13909
- 25192
- 2053
- 25501
- 항해+
- 20920
- Python
- 24313
- 26069
- 2903
- Wil
- 24723
- 코육대
- programmer
- 벡준
- MySQL
- 항해 플러스
- 24060
- Programmers
- 백준
- til
- 10807
- 2738
- 17103
- 2587
- 13241
- SQL
- 5597
- 4134
- 1269
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함