반응형
다음 그림을 봤을 때 or 연산자가 떠오른다. 그림 옆에 이진수로도 힌트를 주는거 같다.
즉, '#' 문자는 '1' 을 나타내고 공백은 '0'을 나타낸다. 각 벡터의 정수값을 or 연산을 해주면
맨 밑의 그림과 같이 표현할 수 있다.
결과 그림과 같이 표현하기 위해서는 or연산을 통해 나온 결과값들은 각 행을 표현하는 정수값이며 그 정수값을
2로 계속 나눠주면서 나머지값이 1이라면 '#'를 붙여주고 아니라면 공백을 출력한다.
#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<arr1.size();i++){
int check = arr1[i] | arr2[i];
string s="";
while(s.size()!=n){
if(check%2==0)s.push_back(' ');
else s.push_back('#');
check/=2;
}
reverse(s.begin(),s.end());
answer.push_back(s);
}
return answer;
}
반응형
'프로그래머스 > Level_1' 카테고리의 다른 글
[프로그래머스 Level_1 / C++ / 카카오] 키패드 누르기 (0) | 2022.02.18 |
---|---|
[Level_1 / C++ / 카카오] [1차] 다트 게임 (0) | 2022.01.23 |
[Level_1 / C++ / 카카오] 실패율 (0) | 2022.01.23 |
[Level_1 / C++ / 카카오] 신고 결과 받기 (0) | 2022.01.23 |
댓글