프로그래머스(Programmers)
프로그래머스 n^2 배열 자르기 C++
cosmohoo
2022. 3. 21. 00:38
반응형
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, long long left, long long right) {
vector<int> answer;
long divisor=0, mod=0; //나누는 수, 나머지
for(long long idx =left; idx <= right; idx++)
{
divisor = idx / n;
mod = idx % n;
if(mod > divisor)answer.push_back((mod+1));
else answer.push_back((divisor+1));
}
return answer;
}
제한사항
- 1 ≤ n ≤ 107
- 0 ≤ left ≤ right < n2
- right - left < 105
입출력 예
n left right result
3 | 2 | 5 | [3,2,2,3] |
4 | 7 | 14 | [4,3,3,3,4,4,4,4] |
=> 수학식을 세워 풀어야하는 문제입니다.
=> 인터넷에 있는 많은 풀이들이 추가된 TEST CASE들에 의해 틀렸다고 나옵니다.
=> 아래에 풀이를 써둔 이미지를 붙여두겠습니다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, long long left, long long right) {
vector<int> answer;
long divisor=0, mod=0; //나누는 수, 나머지
for(long long idx =left; idx <= right; idx++)
{
divisor = idx / n;
mod = idx % n;
if(mod > divisor)answer.push_back((mod+1));
else answer.push_back((divisor+1));
}
return answer;
}
반응형