알고리즘/프로그래머스 3

[프로그래머스] Day12 리스트 자르기

✅ 문제   ✅ 풀이  문제를 보았을때 배열을 조건에 맞는 범위 만큼 자르는 문제였기 때문에 투 포인터를 사용하여 범위만 지정해주고 마지막에 해당 범위의 값들만 출력해주면 되겠다고 생각했다.  class Solution { public int[] solution(int n, int[] slicer, int[] num_list) { int start=0; // 시작 인덱스 int end=num_list.length-1; // 끝 인덱스 int plus=1; // 증가량 switch(n){ case 1: end= slicer[1]; break; ca..

[프로그래머스] Day12 배열 조각하기 자바

✅ 문제  제한 사항  입출력 예시  문제가 이해하기 어렵지는 않은데 주의할건 배열을 자를때 query의 원소값은 인덱스 값이라는 것이다.  짝수 인덱스에서는 query[i] 의 값의 다음 인덱스 부터 없애야하고, 홀수 인덱스에서는 query[i] 값 이전을 없애야한다.   ✅ 풀이  import java.util.*;class Solution { public int[] solution(int[] arr, int[] query) { for(int i =0; i  처음 생각했던 방법은 query를 순회하면서 인덱스를 짝수와 홀수로 구분한다. 인덱스가 짝수인 경우에는 query[i] 값+1 이후의 값을 버리면 되기 때문에  copyOfRange 메서드를 사용하여 (처음~ query[i] +..

[프로그래머스] Day12 2의 영역 자바

문제   풀이 class Solution { public int[] solution(int[] arr) { int[] answer = {}; int start_index=-1; int end_index=-1; // start_index값 찾기 for(int i=0;i 처음 이 문제를 봤을때 생각했던건 처음 2가 나온 인덱스를 체크하고, 마지막으로 2가  나오는 인덱스를 체크하여 두 인덱스 값에 해당하는 원소값들을 정답 배열에 넣으면 되겠다고 생각했다. 그래서 처음 2가 나온 곳을 가리기는 포인터와 마지막으로 2가 나온 곳을 가리키는 포인터 두개가 있으면 문제가 쉽게 풀리겠다고 생각하여 투 포인터로 풀어야 겠다고 생각했다. ..