프로그래머스

[프로그래머스] 비밀지도 파이썬

띵지니어 2023. 4. 5. 00:05

https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 코드

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')

이렇게 나타 낼수 있다.

 

 

자세한 내용은

https://thingjin.tistory.com/entry/Python-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90-%EB%8B%A4%EB%A5%B8-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%B1%84%EC%9A%B0%EB%8A%94-%EB%B0%A9%EB%B2%95-rjust-ljust-zfill

 

[Python] 문자열에 다른 문자열 채우는 방법 rjust, ljust, zfill

rjust str.rjust(width[,fillchar]) 오른쪽으로 정렬된 문자열을 길이 width 인 문자열로 돌려줍니다. 지정된 fillchar (default: 스페이스)을 사용하여 채웁니다. ( fillchar 는 선택 ) width 가 len(str) 보다 작거나 같

thingjin.tistory.com