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
|
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = {};
StringBuilder sb = new StringBuilder();
int i, j, num;
answer = new String[n];
for (i = 0; i < n; i++) {
num = arr1[i] | arr2[i];
while (num > 0) {
if (num % 2 == 1)
sb.append("#");
else
sb.append(" ");
num /= 2;
}
for (j = sb.length(); j < n; j++)
sb.append(" ");
sb.reverse();
answer[i] = sb.toString();
sb.delete(0, sb.length());
}
return answer;
}
}
|
cs |
num = arr1[i] | arr2[i]을 통한 or 연산이 핵심이다.
배열을 굳이 뒤집을 필요 없이 answer[i] = str + answer[i] 처럼 한 번에 할 수 있다.
'Programmers > Level1' 카테고리의 다른 글
3진법 뒤집기 (0) | 2021.07.01 |
---|---|
두 개 뽑아서 더하기 (0) | 2021.06.30 |
같은 숫자는 싫어 (0) | 2021.06.29 |
예산 (0) | 2021.06.29 |
소수 찾기 (0) | 2021.06.29 |