Day 7 반복문

Day7 7단계 20231024

1. 수열과 구간 쿼리 4

import java.util.*;
import java.util.stream.Stream;
import java.util.stream.Collectors;

class Solution {
    public int[] solution(int[] arr, int[][] queries) {
       List<Integer> list;
        for(int i = 0; i < queries.length; i++) {
            int end = queries[i][1];
            int cut = queries[i][2];
            list = Stream.iterate(queries[i][0], j -> j <= end, j -> j+1)
                        .filter(j -> j%cut==0)
                        .mapToIntintValue
                        .boxed()
                        .collect(Collectors.toList());

            for(int j : list) {
                arr[j]++;
            }
        }
        return arr;
    }
}
int[] nums = {1,2,3,4};
List<Integer> list = Arrays.stream(nums).boxed().collect(Collectors.toList());

2. 배열 만들기 2

import java.util.*;

class Solution {
    public int[] solution(int l, int r) {
        List<Integer> list = new ArrayList<>();
        StringBuilder sb = new StringBuilder();

        int first = (l % 5 == 0) ? l : (l / 5 + 1) * 5;
        while (first <= r) {
            sb.append(first);
            String comp = sb.toString();
            for (int i = 0; i < comp.length(); i++) {
                if (comp.charAt(i) == '5' || comp.charAt(i) == '0') {
                    if (i == comp.length() - 1) {
                        list.add(first);
                        sb.setLength(0);
                    }
                    continue;
                } else {
                    sb.setLength(0);
                    break;
                }
            }
            first += 5;
        }

        if(list.isEmpty()) {
            list.add(-1);
        }
        return list.streamintValue).toArray(;
    }
}

4. 콜라츠 수열 만들기

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {
    public int[] solution(int n) {
        List<Integer> answer = new ArrayList<>();
        answer.add(n);
        while (n != 1) {
            n = (n%2==0) ? n/2 : n*3+1;
            answer.add(n);
        }
        return answer.streamintValue).toArray(;
    }
}
List<Integer> answer = new ArrayList<>();
return answer.streamintValue).toArray(;
 return IntStream.concat(
        IntStream.iterate(n, i -> i > 1, i -> i % 2 == 0 ? i / 2 : i * 3 + 1),
               IntStream.of(1))
              .toArray();
class Solution {
    public int[] solution(int n) {
        return Stream.iterate(n, i -> i >= 1, i -> i == 1 ? 0 : i % 2 == 0 ? i / 2 : 3 * i + 1)
		        .mapToIntintValue).toArray(;
    }
}