목록Level1 (4)
개발 무지렁이

K번째 수 🪅 배열을 간단하게 자르는 메서드를 알고 있느냐 => Arrays.copyOfRange() 🪅 간단하게 정렬하는 메서드를 알고 있는냐 => Arrays.sort() 💡 문제 접근 과정 처음에 i번째 숫자부터 j번째 숫자까지 자르라고 했을 때, 무심코 String의 내장메서드 substring()을 이용하면 되지라는 생각을 했는데 잘 보니 배열을 자르는 것(?)이었다. 배열을 간단하게 자르는 메서드를 검색해보니 Arrays.copyOfRange(배열, 시작인덱스, 끝인덱스+1)를 찾을 수 있었고, 방식은 substring과 똑같이 동작했다 즉, 시작인덱스는 시작하고자 하는 인덱스부터 넣는 것이 맞으나, 끝인덱스는 자르고자하는 인덱스보다 +1을 해야 자르고자하는 인덱스까지 잘린다. import j..

폰켓몬 🪅 몇종류가 있는지 확인하기 위해 HashSet을 생각해 낼 수 있느냐 💡 문제 접근 과정 중복을 제거해야 몇종류가 있는지 보이니까 nums의 원소를 HashSet에 넣고, 종류의 개수를 확인했다. 주의해야할 것이, 잡을 수 있는 폰켓몬의 수보다 폰켓몬의 종류가 적을 수 있다는 것이다. 이를 유념해서 코드를 짯다. import java.util.*; class Solution { public int solution(int[] nums) { int answer = 0; int possible = nums.length/2; Set set = new HashSet(); for(int i = 0; i se..

같은 숫자는 싫어 🪅 중복을 제거하는 방법으로 스택을 생각해낼 수 있느냐 🪅 스택을 Integer[]로, Integer[]을 int[]로 변환할 수 있느냐 💡 문제 접근 과정 단순히 중복을 제거하는 문제인 줄 알았다. 때문에 HashSet 자료구조가 생각났고, 그중에서도 넣은 순서를 보장하는 LinkedHashSet을 떠올렸다. 하지만, 자세히보니 이 문제는 단순히 중복을 제거하는 문제가 아닌 이웃한 수의 중복을 제거하는 문제였다. 바로 LinkedHashSet을 버리고, 다른 방식으로 생각해보기로 했다. 순서를 보장하는 List를 이용하면 되겠다 싶어, 배열의 원소들을 List에 넣은 뒤 현재원소와 다음원소를 비교해, 같으면 다음 원소를 지워주는 방식으로 코드를 작성했다 하지만 list에 원소를 넣었다..

모의고사 🪅 keyPoint: List -> Integer[]로 변환할 수 있느냐 🪅 keyPoint: Integer[] -> int[]로 변환할 수 있느냐 ⚠️ List를 Integer배열로 변환: Integer[] arrWrapper = list.toArray(new Integer[0]); ⚠️ Integer배열을 int배열로 변환: int[] arr = Arrays.stream(arrWrapper).mapToInt(Integer::intValue).toArray(); import java.util.*; class Solution { public int[] solution(int[] answers) { int[] answer = {}; int[] firstPattern = {1, 2, 3, 4, 5}..