old/Algorithm
11주차 뭘풀까?
hYhY1234
2020. 8. 28. 23:41
728x90
이번주
이번주는 면접 등으로 정신이 없어서 못풀었다. 하지만 다시 시작해보려고 합니다~~
9월 5일부터는 고난이도 문제로 다시 돌아가려고 한다. 이제 레벨 2 푸는건 여기까지
1. 피보나치수
아 기초 문제
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
int dv = 1234567;
vector<int> d(n+1, 0);
d[0] = 0;
d[1] = 1;
for(int i = 2; i <= n; i++){
d[i] = (d[i-1] + d[i-2]) % dv;
}
answer = d[n] % dv;
return answer;
}
2. 아 행렬의 곱셈
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
int w1 = arr1[0].size();
int h1 = arr1.size();
int w2 = arr2[0].size();
int h2 = arr2.size();
// cout << w1 << ", " << h1 << ", " << w2 << ", " << h2 << "\n";
vector<vector<int>> answer(h1, vector<int> (w2, 0));
for(int i = 0; i < h1; i++){
for(int j = 0; j < w2; j++){
int va = 0;
int index = 0;
while(index < w1){
// cout << arr1[i][index] << ", " << arr2[index][j] << "\n";
va += (arr1[i][index] * arr2[index][j]);
index++;
}
answer[i][j] = va;
}
}
return answer;
}
행렬이 잘 기억이 안나는 나이라 어려웠다.