Algorithm & Data Structures/Programers

Lv 2. n제곱배열자르기

Geisha 2024. 7. 22. 19:03

코드 흐름

  • 코드의 규칙은 간단하다 left와 right 까지만을 찾아봐야한다 n 의 크기가 백만이므로 제곱을 루프 돌리면 overflow 발생한다.
  • 1차원배열에서의 그 위치의 자리는 Max(i/n,i%n) 임을 알게되었다.
  • 따라서 left와 right 까지 돌아주면서 list에 해당하는 값을 집어넣어 반환하였다.
import java.util.*;

class Solution {
    public  List<Long> solution(int n, long left, long right) {
        
        List<Long> list = new ArrayList<>();
        
        for(long i=left;i<right+1;i++){
             list.add(Math.max(i/n,i%n) + 1);
        }
        
        return list;
    }
}