- 2차원 배열을 1차원 배열로 바꿨을 때 그 위치(index)가 어디일지 계산할 수 있어야 한다.
정형화된 식을 알고있으면 쉬운 문제.- 문제의 조건에 맞는 행렬의 값을 구할 수 있어야 한다.
다음 과정을 거쳐서 1차원 배열을 만들었을 때 arr[left] ~ arr[right]만 남기고 나머진ㄴ 지운다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(int n, long long left, long long right) {
vector<int> answer;
for(long long int i=left; i<=right; i++){
answer.push_back(max((i/n), (i%n))+1); //1차원 행렬의 위치를 통해 2차원 행렬의 low, column의 값을 구할 수 있다.
}
return answer;
}