일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- leetcode
- Plotting
- 조지아텍
- 선형대수
- C++
- 개발자
- omscs
- 캐나다 영주권
- 머신러닝
- mpnp
- machine learning
- LAA
- 매트랩
- 기본
- 마니토바
- Deep learning
- zeros
- cpp
- 코딩테스트
- 주정부이민
- EOI
- 온라인석사
- 방송통신대학교
- 알고리즘
- MATLAB
- 딥러닝
- LV1
- 컴퓨터과학과
- 방통대
- 프로그래머스
Archives
- Today
- Total
Krononberg
프로그래머스) 비밀지도 c++ (카카오코테1차) 본문
나의 방식
1. 10진수의 arr1 arr2에 대해, 각각 2진수로 바꿈.
2. 각각의 2진수를 비교하여, 비밀지도 합본 완성.
3. string변환
배운것 (컴퓨터는 10진수를 2진수로 읽음에 착안. 출제자의 의도.)
1. arr1 arr2 OR 비트 연산을 통해, 비밀지도 합본 완성
2. string변환
#include <string>
#include <vector>
using namespace std;
vector<int> toBinary(int x, int k){
vector <int> v;
for(int i=0; i<k; i++){
v.push_back(x%2);
x=x/2;
}
return v;
}
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
vector<int> x; vector<int> y; vector<int>temp;
for(int i =0; i< arr1.size(); i++){
x = toBinary(arr1[i],n);
y = toBinary(arr2[i],n);
string s ="";
for(int j =0; j < x.size(); j++){
if(x[x.size()-1-j] ==0 && y[y.size()-1-j] ==0) s += ' ';
else s += '#';
}
answer.push_back(s);
}
return answer;
}
'개발 로그 > 알고리즘' 카테고리의 다른 글
프로그래머스) 문자열 내 마음대로 정렬하기 c++ (0) | 2021.09.04 |
---|---|
프로그래머스) 월간코드챌린지2_약수의 개수와 덧셈 c++ (0) | 2021.09.03 |
프로그래머스) 문자열 내 p와 y의 개수 c++ (0) | 2021.09.03 |
프로그래머스) 문자열 다루기 기본 c++ (0) | 2021.09.03 |
프로그래머스) 3진법 뒤집기 c++ (0) | 2021.09.03 |