목록전체 글 (253)
bdfgdfg
책을 보지않고 우선 만들어보기. 문제없이 작동. 메인 소스코드 #include "Game.h" #include "Player.h" #include Game::Game() : m_mapData(nullptr),m_gamePlayer(new Player()), m_clear(false), m_count(0) { m_mapData = new int*[MAP_SIZEY]; for (int x = 0; x < MAP_SIZEY; ++x) m_mapData[x] = new int[MAP_SIZEX]; } Game::~Game() { for (int y = 0; y < MAP_SIZEY; ++y) delete[] m_mapData[y]; delete[] m_mapData; delete m_gamePlayer; } b..
#include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(),A.end()); sort(B.begin(),B.end()); int len = A.size(); for(int i = 0; i < len; ++i) { answer += A[i] * B[len - i - 1]; } return answer; } 두 수를 곱하면서 더한 값이 최솟값이 되게 만들어야한다. 즉 곱하는 두 수가 최대한 작아야한다는 의미. 서로 작은 수 끼리 곱해서 더해봤자 점점 커지는 수 끼리 곱해지기에 의미가 없다. 그렇기에 최대한 큰 수를 가장 작은 수와 매번 곱해주는게 이 문제의 해결방법..
#include using namespace std; int main(void) { int a, b, c; cin >> a >> b >> c; if (a == b && b == c) { cout a >> b; cin >> time; if (time >= 60) { h = time / 60; m = time % 60; } else { h = 0; m = time; } a += h; b += m; if (b >= 60) { b = b - 60; a += 1; } if (a >= 24) { a = a - 24; } cout
#include #include using namespace std; vector solution(vector arr1, vector arr2) { int idx = arr1[0].size(); int row = arr1.size(); int col = arr2[0].size(); vector answer(row, vector(col, 0)); for (int i = 0; i < row; ++i) { for (int j = 0; j < col; ++j) { for (int k = 0; k < idx; ++k) { answer[i][j] += arr1[i][k] * arr2[k][j]; } } } return answer; } 비효율적이지 않나 싶었지만 대부분 거의 나와 똑같은 코드더라. 행렬의 곱셈에서 ..