원본 : https://school.programmers.co.kr/learn/courses/30/lessons/134239
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
import java.util.ArrayList;
import java.util.List;
class Solution {
public double[] solution(int k, int[][] ranges) {
List<Double> list = new ArrayList<>();
while (k != 1) {
int preK = k;
k = k % 2 == 0 ? k / 2 : 3 * k + 1;
int minK = Math.min(preK, k);
int maxK = Math.max(preK, k);
list.add(minK + (maxK - minK) / 2.0);
}
double[] result = new double[ranges.length];
for (int i = 0; i < result.length; i++) {
int start = ranges[i][0];
int end = list.size() + ranges[i][1];
if (end < start) {
result[i] = -1;
} else {
double sum = 0;
for (int j = start; j < end; j++) {
sum += list.get(j);
}
result[i] = sum;
}
}
return result;
}
}
문자열 나누기 (연습문제) (0) | 2022.12.09 |
---|---|
기사단원의 무기 (연습문제) (0) | 2022.12.09 |
푸드 파이트 대회 (연습문제) (0) | 2022.11.13 |
과일 장수 (연습문제) (0) | 2022.11.13 |
야간 전술보행 (연습문제) (0) | 2022.10.29 |
댓글 영역