쌓고 쌓다

[프로그래머스] n^2 배열 자르기 C++ 풀이 본문

알고리즘/프로그래머스

[프로그래머스] n^2 배열 자르기 C++ 풀이

승민아 2022. 12. 23. 17:23

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

 

프로그래머스

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

programmers.co.kr

 

전체 코드

#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 i=left;i<=right;i++)
    {
        int row = i/n;
        int col = i%n;
        
        answer.push_back(max(row,col)+1);
    }
    
    return answer;
}

 

풀이 방법

1 2 3 4
2 2 3 4
3 3 3 4
4 4 4 4

i행 j열의 값은 i j 중 더 큰 값에 +1을 한 값이다.

행렬에서 index번째의 행과 열을 구할때

행은 index/N, 열은 index%N으로 구한다.

Comments