728x90
반응형
리스트 자르기
import java.util.LinkedList;
/**
* 코딩 기초 트레이닝 Day 12
* 리스트 자르기
*/
public class Main1 {
public static void main(String[] args) {
int[] slicer = new int[]{1, 5, 2};
int[] num_list = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] result = solution(3, slicer, num_list);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(4, slicer, num_list);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int n, int[] slicer, int[] num_list) {
LinkedList<Integer> list = new LinkedList<>();
int a = slicer[0];
int b = slicer[1];
int c = slicer[2];
switch (n) {
case 1 :
for (int i = 0; i <= b; i++) {
list.add(num_list[i]);
}
break;
case 2 :
for (int i = a; i < num_list.length; i++) {
list.add(num_list[i]);
}
break;
case 3 :
for (int i = a; i <= b; i++) {
list.add(num_list[i]);
}
break;
case 4 :
for (int i = a; i <= b; i += c) {
list.add(num_list[i]);
}
break;
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
첫 번째로 나오는 음수
/**
* 코딩 기초 트레이닝 Day 12
* 첫 번째로 나오는 음수
*/
public class Main2 {
public static void main(String[] args) {
System.out.println(solution(new int[]{12, 4, 15, 46, 38, -2, 15}));
System.out.println(solution(new int[]{13, 22, 53, 24, 15, 6}));
}
public static int solution(int[] num_list) {
int answer = -1;
for (int i = 0; i < num_list.length; i++) {
if (num_list[i] < 0) {
answer = i;
break;
}
}
return answer;
}
}
배열 만들기 3
import java.util.LinkedList;
/**
* 코딩 기초 트레이닝 Day 12
* 배열 만들기 3
*/
public class Main3 {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
int[][] intervals = new int[][]{{1, 3}, {0, 4}};
int[] result = solution(arr, intervals);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int[] arr, int[][] intervals) {
LinkedList<Integer> list = new LinkedList<>();
for (int i = intervals[0][0]; i <= intervals[0][1]; i++) {
list.add(arr[i]);
}
for (int i = intervals[1][0]; i <= intervals[1][1]; i++) {
list.add(arr[i]);
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
2의 영역
/**
* 코딩 기초 트레이닝 Day 12
* 2의 영역
*/
public class Main4 {
public static void main(String[] args) {
int[] result = solution(new int[]{1, 2, 1, 4, 5, 2, 9});
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(new int[]{1, 2, 1});
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(new int[]{1, 1, 1});
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(new int[]{1, 2, 1, 2, 1, 10, 2, 1});
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int[] arr) {
int[] answer;
int minIdx = Integer.MAX_VALUE;
int maxIdx = Integer.MIN_VALUE;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 2) {
minIdx = Math.min(i, minIdx);
maxIdx = Math.max(i, maxIdx);
}
}
if (minIdx != Integer.MAX_VALUE) {
int size = maxIdx - minIdx;
int idx = 0;
answer = new int[size + 1];
for (int i = minIdx; i <= maxIdx; i++) {
if (idx > size) {
break;
}
answer[idx++] = arr[i];
}
} else {
return new int[]{-1};
}
return answer;
}
}
배열 조각하기
import java.util.Arrays;
/**
* 코딩 기초 트레이닝 Day 12
* 배열 조각하기
*/
public class Main5 {
public static void main(String[] args) {
int[] arr = new int[]{0, 1, 2, 3, 4, 5};
int[] query = new int[]{4, 1, 2};
int[] result = solution(arr, query);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int[] arr, int[] query) {
int[] answer = Arrays.copyOf(arr, arr.length);
for (int i = 0; i < query.length; i++) {
if (i % 2 == 0) {
answer = Arrays.copyOfRange(answer, 0, query[i] + 1);
} else {
answer = Arrays.copyOfRange(answer, query[i], answer.length);
}
}
return answer;
}
}
728x90
반응형
'📌Back-End > 프로그래머스' 카테고리의 다른 글
Java 프로그래머스 코딩 기초 트레이닝 Day 14 리스트(배열) (0) | 2024.05.22 |
---|---|
Java 프로그래머스 코딩 기초 트레이닝 Day 13 리스트(배열) (0) | 2024.05.16 |
Java 프로그래머스 코딩 기초 트레이닝 Day 11 리스트(배열) (0) | 2024.05.10 |
Java 프로그래머스 코딩 기초 트레이닝 Day 10 문자열 (0) | 2024.05.09 |
Java 프로그래머스 코딩 기초 트레이닝 Day 9 문자열 (0) | 2024.05.05 |