본문 바로가기

코딩 테스트

프로그래머스 1차 비밀지도

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;



vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
    vector<string> answer(n);
    vector<string> translate(n);
    vector<string> translate2(n);
    
    for(int i = 0; i< arr1.size(); ++i)
    {
        while(arr1[i]>0)
        {
            int n = arr1[i] % 2;            
            translate[i] += n + '0';            
            arr1[i] /= 2;            
        }
        while(translate[i].length() < n)
        {
            translate[i] += '0';
        }
        reverse(translate[i].begin(),translate[i].end());
        
        while(arr2[i]>0)
        {
            int n = arr2[i] % 2;            
            translate2[i] += n + '0';            
            arr2[i] /= 2;            
        }     
        while(translate2[i].length() < n)
        {
            translate2[i] += '0';
        }
        reverse(translate2[i].begin(),translate2[i].end());
    }
    
    for(int i = 0; i<n;++i)
    {
        for(int j=0;j<n; ++j)
        {
            if(translate[i][j] == '0' && translate[i][j] == translate2[i][j])
                answer[i] += ' ';
            else
            {
                answer[i] += '#';
            }
        }
    }
    
    return answer;
}

'코딩 테스트' 카테고리의 다른 글

프로그래머스 타겟 넘버  (0) 2024.03.04
프로그래머스 피로도  (0) 2024.03.01
프로그래머스 k진수에서 소수 개수 구하기  (0) 2024.02.14
프로그래머스 신고 결과 받기 문제  (0) 2024.02.14
백준 4101  (0) 2023.07.10