SOLUTION INFO
C++ · main.cpp
class Solution {
public:
int minimumOperationsToWriteY(vector<vector<int>>& grid) {
int N = (int)grid.size();
int cnt[3]{}, cnt2[3]{};
for(int i = 0; i < N; ++i) {
for(int j = 0; j < N; ++j) {
if(i <= N / 2) {
if(i == j || i == N - 1 - j) cnt[grid[i][j]]++;
else cnt2[grid[i][j]]++;
}
else {
if(j == N / 2) cnt[grid[i][j]]++;
else cnt2[grid[i][j]]++;
}
}
}
int S = cnt[0]+cnt[1]+cnt[2], S1 = cnt2[0]+cnt2[1]+cnt2[2];
int ret = INT_MAX;
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
if(i == j) continue;
ret = min(ret, S - cnt[i] + S1 - cnt2[j]);
}
}
return ret;
}
};
SOLUTION DESCRIPTION
풀이 설명
등록된 풀이 설명이 없습니다.