카테고리 없음
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를 사용해서 편하게 최댓값을 구했다.. 근데 너무 웃기게 푼거같다... ㅋㅋㅋ 이거밖에 생각이 안나..
모의면접을 한 후 기초부터 탄탄히 다져야겠다는 생각이 들었다..
아직 모르는 것도 많고 설명할 수 있을 실력이 아니라 처음부터 다시 차근차근 배워나가야겠다.