크기가 n인 벡터 2개가 입력된다.
각각의 벡터의 값들을 n자리 수의 2진수로 바꾸어 2개의 n * n배열들로 만들었을 때 같은 위치에 있는 값이 공백일 때만 공백이고 나머지 경우에는 #인 2차원 벡터를 출력한다.
✔비트연산자 사용하기!!
arr1과 arr2의 값들을 비트연산자를 활용하여 저장한 뒤
그 값을 2진법으로 나타내어 0일 때는 공백, 1일 때는 #으로 temp(string)에 저장한다.
마지막엔 reverse함수를 사용하여 temp 뒤집어주기!
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
for(int i=0;i<n;i++){
string temp="";
arr1[i]=arr1[i]|arr2[i];
while(temp.size()!=n){
if(arr1[i]%2==0){
temp+=' ';
}
else{
temp+='#';
}
arr1[i]/=2;
}
reverse(temp.begin(),temp.end());
answer.push_back(temp);
}
return answer;
}