카테고리 없음

3월 22일 수요일 TIL 회고록

tft4rollz 2023. 3. 22. 23:31

코딩 테스트 입문 문제를 풀면서 몰랐던 부분 정리


프로그래머스 입문 (배열 자르기)

 

문제 설명

 

풀이 : 

Java.util.Arrays 패키지에 있는 copyOfRange 를 이용해서 문제를 풀었다.

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int[] answer = {};

      answer = Arrays.copyOfRange(numbers,num1,num2+1);
      return answer;
    }
}

Arrays.copyOfRange(복사할 배열, 시작 위치, 배열 크기)를 사용해서 배열을 복사해 answer에 대입한다.

num1 부터 num2까지 다 나오게 하려면 num2+1 을 해야한다.  from부터 to로 들어온 숫자 바로 전 index까지 자르기 때문이다.

 

정리 : 배열을 자르는 문제가 나올 경우 Arrays.copyOfRange(복사할 배열, 시작 위치, 배열 크기) 를 사용해서 편하게 자르자


프로그래머스 입문 (최댓값 만들기)

문제 설명 :

풀이 :

class Solution {

  public int solution(int[] numbers) {
    List<Integer> list = new ArrayList<>();
    int result = 0;
    for (int i = 0; i < numbers.length; i++) {
      list.add(numbers[i]);
    }
    Collections.sort(list);
    Collections.reverse(list);
    result = list.get(0) * list.get(1);

    return result;
  }
}

ArrayList를 만들어서 for문을 이용해 numbers의 값을 ArrayList에 넣은 뒤 Collections.sort, reverse를 사용해서 오름차순으로 정렬,하고 다시 내림차순으로 만든 뒤 정수 타입 result에 ArrayList에 0번째 값과 1번째 값을 곱한 값을 넣어줬다. 

reverse를 사용해서 편하게 최댓값을 구했다.. 근데 너무 웃기게 푼거같다... ㅋㅋㅋ 이거밖에 생각이 안나..


모의면접을 한 후 기초부터 탄탄히 다져야겠다는 생각이 들었다..

아직 모르는 것도 많고 설명할 수 있을 실력이 아니라 처음부터 다시 차근차근 배워나가야겠다.