Game Develop

[Algorithm] Programmers :: n^2 배열 자르기 본문

Algorithm/Programmers

[Algorithm] Programmers :: n^2 배열 자르기

MaxLevel 2023. 6. 5. 02:24

https://school.programmers.co.kr/learn/courses/30/lessons/87390

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vector<int> solution(int n, long long left, long long right) 
{
    vector<int> answer;
 
    for (long long i = left; i <= right; ++i)
    {
        int y = i / n;
        int x = i % n;
 
        answer.push_back(max(y, x) + 1);
    }
 
    return answer;
}
cs

노트에다가 배열 그려보니까 규칙을 금방 알 수 있었다.

left~right값은 결국 2차원배열의 인덱스값을 1차원으로 변형한거니까, 해당값을 다시 2차원으로 변형시킨 후, y랑 x중 최대값이 해당 좌표에 들어갈 값이다.