📌Back-End/프로그래머스

Java 프로그래머스 코딩 기초 트레이닝 Day 13 리스트(배열)

구 일 2024. 5. 16. 22:15
728x90
반응형

 

 

n 번째 원소부터

프로그래머스 n 번째 원소부터 자바

 

 

import java.util.Arrays;

/**
 * 코딩 기초 트레이닝 Day 13
 * n 번째 원소부터
 */
public class Main1 {
    public static void main(String[] args) {
        int[] result = solution(new int[]{2, 1, 6}, 3);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();

        result = solution(new int[]{5, 2, 1, 7, 5}, 2);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();
    }

    public static int[] solution(int[] num_list, int n) {
        return Arrays.copyOfRange(num_list, n - 1, num_list.length);
    }
}

 

 

 

순서 바꾸기

프로그래머스 순서 바꾸기 자바

 

 

import java.util.Arrays;
import java.util.stream.IntStream;

/**
 * 코딩 기초 트레이닝 Day 13
 * 순서 바꾸기
 */
public class Main2 {
    public static void main(String[] args) {
        int[] result = solution(new int[]{2, 1, 6}, 1);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();

        result = solution(new int[]{5, 2, 1, 7, 5}, 3);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();
    }

    public static int[] solution(int[] num_list, int n) {
        int[] part1 = Arrays.stream(num_list, n , num_list.length).toArray();
        int[] part2 = Arrays.stream(num_list, 0, n).toArray();

        return IntStream.concat(Arrays.stream(part1), Arrays.stream(part2)).toArray();
    }
}

 

 

 

왼쪽 오른쪽

프로그래머스 왼쪽 오른쪽 자바

 

 

import java.util.Arrays;

/**
 * 코딩 기초 트레이닝 Day 13
 * 왼쪽 오른쪽
 */
public class Main3 {
    public static void main(String[] args) {
        String[] result = solution(new String[]{"u", "u", "l", "r"});

        for (String str : result) {
            System.out.print(str + " ");
        }
        System.out.println();

        result = solution(new String[]{"l"});

        for (String str : result) {
            System.out.print(str + " ");
        }
        System.out.println();
    }

    public static String[] solution(String[] str_list) {
        String[] answer = {};

        for (int i = 0; i < str_list.length; i++) {
            if (str_list[i].equals("l")) {
                return Arrays.copyOfRange(str_list, 0, i);
            } else if (str_list[i].equals("r")) {
                return Arrays.copyOfRange(str_list, i + 1, str_list.length);
            }
        }

        return answer;
    }
}

 

 

 

n 번째 원소까지

프로그래머스 n 번째 원소까지 자바

 

 

import java.util.Arrays;

/**
 * 코딩 기초 트레이닝 Day 13
 * n 번째 원소까지
 */
public class Main4 {
    public static void main(String[] args) {
        int[] result = solution(new int[]{2, 1, 6}, 1);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();

        result = solution(new int[]{5, 2, 1, 7, 5}, 3);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();
    }

    public static int[] solution(int[] num_list, int n) {
        return Arrays.copyOfRange(num_list, 0, n);
    }
}

 

 

 

n개 간격의 원소들

프로그래머스 n개 간격의 원소들 자바

 

 

import java.util.LinkedList;

/**
 * 코딩 기초 트레이닝 Day 13
 * n개 간격의 원소들
 */
public class Main5 {
    public static void main(String[] args) {
        int[] result = solution(new int[]{4, 2, 6, 1, 7, 6}, 2);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();

        result = solution(new int[]{4, 2, 6, 1, 7, 6}, 4);

        for (int num : result) {
            System.out.print(num + " ");
        }
        System.out.println();
    }

    public static int[] solution(int[] num_list, int n) {
        LinkedList<Integer> list = new LinkedList<>();

        for (int i = 0; i < num_list.length; i += n) {
            list.add(num_list[i]);
        }

        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

 

728x90
반응형