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
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include <string>
#include <vector>
using namespace std;
int N;
vector<string> board1;
vector<string> board2;
vector<string> answer;
string Change(int num){
string ans="";
int s=(1<<N-1);
while(s){
if(num>=s){
num=num%s;
s=(s>>1);
ans+="1";
}else{
s=(s>>1);
ans+="0";
}
}
return ans;
}
string Ret(string a,string b){
string ans="";
for(int i=0;i<N;i++){
if( (a[i]=='1') || (b[i]=='1') ){
ans+="#";
}else
ans+=" ";
}
return ans;
}
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
N=n;
for(int i=0;i<n;i++){
board1.push_back(Change(arr1[i]));
board2.push_back(Change(arr2[i]));
}
for(int i=0;i<n;i++){
answer.push_back(Ret(board1[i],board2[i]));
}
return answer;
}
|
cs |
#include <string>
#include <vector>
using namespace std;
int N;
vector<string> board1;
vector<string> board2;
vector<string> answer;
string Change(int num){
string ans="";
int s=(1<<N-1);
while(s){
if(num>=s){
num=num%s;
s=(s>>1);
ans+="1";
}else{
s=(s>>1);
ans+="0";
}
}
return ans;
}
string Ret(string a,string b){
string ans="";
for(int i=0;i<N;i++){
if( (a[i]=='1') || (b[i]=='1') ){
ans+="#";
}else
ans+=" ";
}
return ans;
}
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
N=n;
for(int i=0;i<n;i++){
board1.push_back(Change(arr1[i]));
board2.push_back(Change(arr2[i]));
}
for(int i=0;i<n;i++){
answer.push_back(Ret(board1[i],board2[i]));
}
return answer;
}
출처:https://school.programmers.co.kr/learn/courses/30/lessons/17681?language=cpp
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;
int N;
vector<string> answer;
string Change(int num){
string ans="";
int s=(1<<N-1);
while(s){
if(num>=s){
num=num%s;
s=(s>>1);
ans+="#";
}else{
s=(s>>1);
ans+=" ";
}
}
return ans;
}
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
N=n;
for(int i=0;i<n;i++){
arr1[i]=arr1[i] | arr2[i];
}
for(int i=0;i<n;i++){
answer.push_back(Change(arr1[i]));
}
return answer;
}
|
cs |
처음부터 OR연산하는 방법을 생각못했네요
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[c++] N으로 표현 (1) | 2022.10.04 |
---|---|
[c++] 아이템줍기 (BFS) (1) | 2022.09.29 |
[c++] 베스트앨범 (해쉬) (0) | 2022.09.23 |
[c++] 단속카메라 (그리디, 탐욕법) (0) | 2022.09.23 |
[c++] 야근 지수 (1) | 2022.09.23 |