반응형
1. 문제
한 쪽이라도 벽(1)이 있으면 벽으로 처리하고, 둘 다 빈 공간(0)이면 빈 공간으로 처리해서 string을 출력!
2. 설계
3. 알고리즘
4. 구현
1) 문제의 조건에 맞는 OR 비트 연산을 한다.
2) cpp에서 십진수->이진수로 바꾸는 bitset<자리수>를 한다. 자리수에는 int만 넣을 수 있고 변수를 넣을 수 없다.
3) bit연산 결과를 string으로 바꾸려면 bit.to_string()
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
vector<int> tmpV;
for(int i=0; i<n; i++){
tmpV.push_back(arr1[i]|arr2[i]);
}
for(auto iter: tmpV){
string bits = bitset<20>(iter).to_string();
string tmpS = "";
for(int i=(20-n); i<20; i++){
if(bits[i]=='1') tmpS+='#';
else tmpS+=' ';
}
answer.push_back(tmpS);
}
return answer;
}
반응형
'PS > 프로그래머스' 카테고리의 다른 글
프로그래머스 평균구하기 python (0) | 2021.05.31 |
---|---|
프로그래머스 다트게임 cpp (0) | 2021.05.28 |
프로그래머스 약수의 개수와 덧셈 cpp (0) | 2021.05.24 |
프로그래머스 실패율 cpp (0) | 2021.05.23 |
프로그래머스 로또의 최고 순위와 최저 순위 cpp (0) | 2021.05.23 |
댓글