목록인프런 (70)
개발자는 기록이 답이다
7. 좌표 정렬(compareTo) x 좌표 값에 의해 오름차순 정렬하고, x값이 같으면 y값에 의해 오름차순 정렬해서 출력하면 되는 문제 예시 입력 1 5 2 7 1 3 1 2 2 5 3 6 예시 출력 1 1 2 1 3 2 5 2 7 3 6 아래 코드에 대한 설명 if(this.x==o.x) return this.y-o.y; 오름차순의 경우 : this - object 내림차순의 경우 : object - this 오름차순으로 만들고자할때 현재 메소드를 호출한 this객체가 앞에있고 매개변수로 넘어온 object객체가 뒤에 있다고 생각해라. 이 순서대로 정렬이 되려면 무조건 음수값이 리턴되도록 해야 합니다. 다시말해서 this가 앞에 있고 대상객체가 뒤에 있게 하고, 10 20 이 순서대로 있게 하려면,..
6. 장난꾸러기 예시 입력 1 9 120 125 152 130 135 135 143 127 160 예시 출력 1 3 8 힌트 출력해설 : 키 정보 152가 철수이고, 127이 철수 짝꿍입니다. 나는 해당 문제를 선택정렬해서 어렵게 풀려고 했었다....그냥 깊은 복사해서 비교하면될 것을.... 강의 풀이(Time: 170ms Memory: 27MB Lang: Java) import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public ArrayList solution(int n, int[] arr) { ArrayList answer = new ArrayList(); int[] tmp ..
5. 중복 확인 예시 입력 1 8 20 25 52 30 39 33 43 33 예시 출력 1 D 내가 푼 풀이 1 (Time: 790ms Memory: 34MB) 나는 정렬도 HashMap도 안쓰고 그냥 간단하게 풀었다. 시간복잡도가 O(n^2)이다. 하지만 지금 정렬파트를 보고 있으니 정렬로도 연습을 해야 한다. import java.util.Scanner; public class Main { public String solution(int n, int[] arr) { String answer = "U"; for (int i = 0; i < n-1 ; i++) { int tmp = arr[i]; for (int j = i+1; j < n ; j++) { if (tmp == arr[j]) return "D..
4. Least Recently Used 예시 입력 1 5 9 1 2 3 2 6 2 3 5 7 예시 출력 1 7 5 3 2 6 각 문제 풀이에 대한 설명은 주석으로 달아놓음. list로 풀수도 있지만, 왠만하면 정렬로 푸는 연습을 해라. 왜냐하면 코드 구현력이 어느정도인지 확인하기 위함이다. 문제에 대한 이해도가 중요했음,, 내가 푼 풀이 1 (ArrayList) - Time: 164ms Memory: 27MB import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class ListExample { public int[] solution(int size, int n, int[] arr) { int[] an..