프로그래밍응용/오답노트

카카오톡 비밀지도

photoner 2021. 2. 18. 20:45
728x90
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

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
반응형