import java.util.*;
class Solution {
public int[] solution(int n, long left, long right) {
int[] answers = new int[(int) (right - left + 1)];
int seq=0;
for (long i = left; i <= right; i++) {
long f1 = i/n;
long f2 = i%n;
answers[seq++] = (int) (Math.max(f1,f2)+1);
}
return answers;
}
}
🤔처음에는 2차원 배열을 생각했으나 해당 n의 크기가 크기 때문에 패턴이 있을 것으로 생각하였습니다.
실제로 위와 같이 나눈 몫과 나머지 중에서 가장 큰 값이 해당 정답 값이 되는 것을 확인하였습니다.(1을 더해준 것은 숫자를 맞추주려고 한 것입니다.)
🥳이 후 이 값을 left, right 까지 차례대로 진행하면 해당 문제의 값이 나오게 됩니다.
좋은 글 잘 읽었습니다, 감사합니다.