https://school.programmers.co.kr/learn/courses/30/lessons/87390
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2차원 배열을 row 단위로 잘라 이어 붙여서 1차원 배열로 만들고, 주어진 left, right 구간 배열을 리턴해야 한다.
2차원 배열을 만들기에는 n의 단위가 10^7 이므로 무리.
문제 샘플로 주어지는 예시를 잘 살펴보면
행과 열에 따라 어떤 숫자를 넣어야 하는지 알 수 있다.
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++) {
int row = (int) (i / n);
int col = (int) (i % n);
int num = 0;
if (col <= row) {
num = row + 1;
} else {
num = col + 1;
}
answer[index++] = num;
}
return answer;
}
}
'코딩테스트 > programmers' 카테고리의 다른 글
행렬의 곱셈 (0) | 2023.10.06 |
---|---|
H-Index (0) | 2023.10.06 |
할인 행사 (0) | 2023.10.04 |
괄호 회전하기 (0) | 2023.09.25 |
연속 부분 수열 합의 개수 (0) | 2023.09.25 |