ㅎvㅎ
모각코 5회차 회고 본문
처음엔 어떻게 풀어야하는지 잘 몰랐는데,
정면과 오른쪽의 배열을 받은 수로 최대값을 제한해주면 되는 문제였다
#include <iostream>
#include <algorithm>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
int n;
cin >> n;
vector<vector<int>> vec(n, vector<int>(n, 0));
vector<int> frontMax(n, 0);
vector<int> rightMax(n, 0);
for (int i = 0; i < n; i++)
{
cin >> frontMax[i];
}
// 정면에 대한 최대값 넣기
for (int j = 0; j < n; j++)
{
for (int i = 0; i < n; i++)
{
vec[i][j] = frontMax[j];
}
}
for (int i = n - 1; i >= 0; i--)
{
cin >> rightMax[i];
}
// 오른쪽면에 대한 최대값 반영하기
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (vec[i][j] > rightMax[i])
{
vec[i][j] = rightMax[i];
}
}
}
int result = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
result += vec[i][j];
}
}
cout << result;
return 0;
}
정면과 오른쪽 면을 비교해서
더 작은 수로 2차원배열을 만들어서 풀 수도 있을 것 같다
'2024 동계 모각코' 카테고리의 다른 글
모각코 6회차 회고 (0) | 2024.02.14 |
---|---|
모각코 4회차 회고 (0) | 2024.01.25 |
모각코 3회차 회고 (0) | 2024.01.17 |
모각코 2회차 회고 (0) | 2024.01.13 |
모각코 1회차 회고 (0) | 2024.01.03 |