프로그래머스
[프로그래머스] 비밀지도 파이썬
띵지니어
2023. 4. 5. 00:05
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/17681
내 코드
def solution(n, arr1, arr2):
answers = [bin(arr1[i] | arr2[i])[2:] for i in range(n)]
for i, answer in enumerate(answers):
if len(answer) < n:
answers[i] = '0'*(n - len(answer)) + answer
result = []
for i in answers:
i = i.replace('1','#')
i = i.replace('0',' ')
result.append(i)
return result
Review
내가 생각한 순서
1. 십진수 | 십진수 연산 진행
2. 이진수의 자릿수가 n보다 적다면, 글자수 길이인 n 만큼 왼쪽에 0으로 채우기
3. 결과로 나오는 이진수를 # 과 공백으로 replace 해주기
1번과 3번은 남들과 비슷하다.
하지만 이진수의 남은 왼쪽공간을 0으로 채우는 과정에서 rjust 로 채우는 방법도 있었다.
if len(answer) < n:
answers[i] = '0'*(n - len(answer)) + answer
이 부분을 rjust 를 사용하면
answer.rjust(n,'0')
이렇게 나타 낼수 있다.
반응형