728x90

programmers.co.kr/learn/courses/30/lessons/17681

 

코딩테스트 연습 - [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다

programmers.co.kr

#include <string>
#include <vector>
using namespace std;

vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
    string str = "";
    vector<vector<int>> v1(n, vector<int>(n));
    vector<vector<int>> v2(n, vector<int>(n));
    for(int i = 0; i < n; i++) {
        str += " ";
    }
    for(int i = 0; i < n; i++) {
        int num = arr1[i];
        vector<int> temp;
        while(num > 0) {
            temp.push_back(num % 2);
            num /= 2;
        }
        int index = n - 1;
        for(int j = 0; j < temp.size(); j++) {
            v1[i][index--] = temp[j];
        }
    }
    for(int i = 0; i < n; i++) {
        int num = arr2[i];
        vector<int> temp;
        while(num > 0) {
            temp.push_back(num % 2);
            num /= 2;
        }
        int index = n - 1;
        for(int j = 0; j < temp.size(); j++) {
            v2[i][index--] = temp[j];
        }
    }
    vector<string> answer(n, str);
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            if (v1[i][j] == 1 || v2[i][j] == 1) {
                answer[i][j] = '#';
            }
        }
    }
    return answer;
}
728x90

+ Recent posts