Notice
Recent Posts
Recent Comments
Link
S E P H ' S
[Python] 2018 KAKAO BLIND RECRUITMENT [1차] 비밀지도 본문
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
둘중 하나가 1이면 벽이 생기는, 즉 비트연산이 핵심이었던 문제였다. or 연산을 통해 문제를 풀었다.
def solution(n, arr1, arr2):
answer = []
for num1, num2 in zip(arr1, arr2):
tmp = bin(num1 | num2)[2:]
if len(tmp) < n:
tmp = '0'*(n-len(tmp)) + tmp
tmp = tmp.replace('1','#')
tmp = tmp.replace('0',' ')
answer.append(tmp)
return answer
다른 풀이
def solution(n, arr1, arr2):
answer = []
for num1, num2 in zip(arr1, arr2):
tmp = bin(num1 | num2)[2:]
tmp = tmp.rjust(n, '0')
tmp = tmp.replace('1','#')
tmp = tmp.replace('0',' ')
answer.append(tmp)
return answer
위 코드에서는 2진수로 변환하면서 자리수를 맞추기 위해 tmp의 길이가 n보다 짧을때 0을 채운다는 것을 했는데
zerofill을 해주는 rjust 함수를 사용한 코드이다. rjust는 요소를 오른쪽 정렬을 하고 왼쪽에 원하는 것을 채워 넣을 수 있는 함수이다.
'Algorithm > Programmers' 카테고리의 다른 글
[Python] 숫자 문자열과 영단어 (0) | 2021.07.09 |
---|---|
[Python] 2019 KAKAO BLIND RECRUITMENT 실패율 (0) | 2021.07.08 |
[Python] 2018 KAKAO BLIND RECRUITMENT [1차] 다트 게임 (0) | 2021.07.08 |
[Python] 로또의 최고 순위와 최저 순위 (0) | 2021.07.08 |
[Python] 3진법 뒤집기 (0) | 2021.07.08 |