프로그래머스
[프로그래머스] 비밀지도
binaryJournalist
2021. 9. 23. 20:56
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
비트연산자를 이용했다.
그리고 padStart 를 이용하여 출력되지 않은 0들을 채워주었다.
function solution(n, arr1, arr2) {
let answer = [];
for (let i = 0; i < n; i++) {
answer.push((arr1[i]|arr2[i]).toString(2).padStart(n, '0').replace(/[1]/g, "#").replace(/[0]/g, " "));
}
return answer;
}
** Java
Java에는 따로 padStart 가 없어서 구글링하여 찾아보았다.
여러 추천 방법들이 있었는데 String.format 을 쓰는 게 가장 나을 듯하다.
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for (int i = 0; i < n; i++) {
answer[i] = String.format("%" + n + "s", Integer.toBinaryString(arr1[i] | arr2[i])).replaceAll("1", "#").replaceAll("0", " ");
}
return answer;
}
}
참고: https://www.baeldung.com/java-pad-string
** Python
def solution(n, arr1, arr2):
answer = [""] * n
for i in range(n):
# answer[i] = str(bin(arr1[i]|arr2[i]))[2:].rjust(n,'0').replace('1','#').replace('0',' ')
answer[i] = str(bin(arr1[i]|arr2[i]))[2:].zfill(n).replace('1','#').replace('0',' ')
return answer
숫자의 경우 앞에 0을 채워줘야 하는 경우가 생기는 데 python 의 경우 rjust 와 zfill 을 사용할 수 있다.
rjust 는 채우고 싶은 string 을 원하는 대로 지정할 수 있고
zfill 은 말 그대로 fill zero여서 총 글자 수만 지정해주면 된다.
참고: https://kkamikoon.tistory.com/136
[Python] 스트링 앞에 0 채우는 방법(zfill, rjust)
파이썬에서 숫자를 출력하고자 하는데, 앞에 0을 붙여주고 싶을 때 해결 방법을 찾아보았습니다. 이때 사용할 수 있는 함수가 zfill()이라는 함수와 rjust()라는 함수가 있는데, 함수를 다음과 같이
kkamikoon.tistory.com
반응형