예시 1번은 좌표료 표현하면 다음과 같이 표현할 수 있다.
여기서 규칙을 찾을 수 있다.
행과 열의 값중 최대 값 + 1이 해당 칸에 있는 수이다.
예를 들자면 (1, 2)에서 가장 큰 값은 2이고, 여기에 1을 더하면 3
그렇다면 공식을 다음과 같이 세울 수 있다.
a = 행 / n
b = 열 % n
a, b 중 최대값 + 1
코드
더보기
더보기
class Solution {
public int[] solution(int n, long left, long right) {
int[] answer = new int[(int)(right - left + 1)];
int division = 0, remain = 0;
int answerIndex = 0;
while(left <= right) {
division = (int)(left / n);
remain = (int)(left % n);
left++;
answer[answerIndex++] = Math.max(division, remain) + 1;
}
return answer;
}
}
결과
'알고리즘 > 프로그래머스' 카테고리의 다른 글
카카오 코테 - 문자열 압축 (0) | 2022.05.06 |
---|---|
프로그래머스 - 쿼드압축 후 개수 세기 (0) | 2021.11.27 |
프로그래머스 - 전력망을 둘로 나누기 (0) | 2021.11.27 |
프로그래머스 - 이진 변환 반복하기 (0) | 2021.11.26 |
프로그래머스 - 빛의 경로 사이클 (0) | 2021.11.21 |