프로그래밍응용/오답노트
카카오톡 비밀지도
photoner
2021. 2. 18. 20:45
728x90
반응형
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
29
30
31
32
33
34
35
|
#include <string>
#include <vector>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
string tile;
int or_res;
for(int i=0; i<n; i++)
{
tile.clear();
or_res = arr1[i] | arr2[i]; // 두 지도를 비교하여 or 비트 연산으로 벽인지 공백인지 확인
for(int j=0; j<n; j++)
{
if(or_res == 0)
{
tile = ' ' + tile;
continue;
}
if(or_res%2 == 1) // 벽이면
tile = '#' + tile; // 벽 + 기존 타일 -> 이진수의 하단부터 계산되므로 뒤에서 앞으로 채워가야함.
else
tile = ' ' + tile; // 공백 + 기존 타일 -> 이진수의 하단부터 계산되므로 뒤에서 앞으로 채워가야함.
or_res /= 2; // 갱신
}
answer.push_back(tile);
}
return answer;
}
|
cs |
728x90
반응형