-
[프로그래머스] Level.2 n^2 배열자르기 (JAVA)카테고리 없음 2022. 6. 2. 15:21
문제 설명과 제한사항


풀이
class Solution { public int[] solution(int n, long left, long right) { int[] answer = new int[(int)(right - left + 1)]; int index = 0; for(long i = left; i <= right; i++){ answer[index++] = (int)Math.max((i/n),i%n) + 1; } return answer; } }++
문제 접근 자체는 쉽지만 어려운점은 left right 가 int형으로 표현하기엔 너무 크다. (제한사항)
그래서 문제의 순서처럼 이차원 배열을 만들고, 일차 배열로 바꾼 뒤 자르기에는 문제가 생긴다.
그래서 몫은 열 나머지는 행을 나타내는 것을 이용해서 풀었다.
+1 을 하는 이유는 i 가 1부터 시작하기 때문임.