코테/개인적으로 헷갈리는 거

📍 Comparable - int compareTo(T other) - 자신과 인자로 받는 타 원소와 비교해 정수 리턴 (양수 : 오름차순 정렬 / 음수 : 내림차순 정렬 / 0 : 같음) - 정렬 기준이 여러 개 - 원래 클래스, 실전 클래스에 영향을 미쳐 수정된다. class Node implements Comparable { int s, e;// 시작점, 끝점 public Node(int s, int e) { this.s = s;// this는 현재 객체 this.e = e; } @Override public int compareTo(Node n) {// 시작점 기준 오름차순 정렬 return this.s - n.s; } } // 람다식 ver.) Arrays.sort(arr, (a, b) -> a..
📌 방법 1 - int 배열을 Integer[]로 받음 - import java.util.Collections; 필요! - sort 함수 뒤에 Collections.reverseOrder(); 해서 내림차순 정렬 import java.util.Arrays; import java.util.Collections;// ⭐ public class Main { public static void main(String[] args) { Integer[] arr = new Integer[]{12, 23, 34, 45}; Arrays.sort(arr, Collections.reverseOrder());// ⭐ for(int i = 0; i < 4; i++) System.out.print(arr[i] + " ");// 4..
📍 최대 겹치는 지점 범위 : x1 ~ x2 📍 최대 겹치는 구간 범위 : x1 ~ (x2 - 1)
#1. 따로 리스트를 생성하고, .keySet()을 이용해 key값들을 리스트에 추가한다. List list = new ArrayList(map.keySet()); #2. 리스트를 사용자 정의 기준에 맞춰 정렬한다. - 방법1) 바로 value 값을 가져와 연산을 통해 정렬한다. - 방법2) .compareTo 메소드를 활용해 정렬한다. (참고) /* 예시 : 내림차순 정렬 */ // 방법 1 : 람다식 활용 list.sort((o1, o2) - > map1.get(o2) - map1.get(o1))); // 방법 2 : Collections.sort & .compareTo 활용 Collections.sort(list, (o1, o2) -> map1.get(o2).compareTo(map1.get(o1)..
1. 일반적 방법 : 직접 배열을 생성하고, 리스트의 값을 배열에 넣는다. List list = new ArrayList(); for(int i = 1 ; i i).toArray(); list.toArray(new String[0]); (참고) [Java] List를 배열(Array)로 변환 하기 - Java버전별, 기본형 변환 ArrayList 등의 List를 배열(Array)로 변환하는 java 버전별 방법, 그리고 참조형, 기본형(Integer>int) 등의 여러가지 방법을 정리합니다. 1. List.toArray() // set List (String) - reference types List list = new ArrayList(); l ifuwanna.tistory.com
[Java] HashMap을 정렬하는 방법 Map의 구조처럼 Key, Value의 형태를 정렬을 할 때는 Comparable or Comparator 인터페이스를 구현한 후에 해당 인터페이스에 맞는 compare or compareTo 메소드를 오버라이딩 해서 정렬의 기준을 재정의 한 후에 devlog-wjdrbs96.tistory.com [JAVA] HashMap 기본 및 정렬 HashMap : HashMap은 Key, Value 한 쌍을 데이터 타입으로 가진다. 키를 해싱하여 자료를 저장하고 꺼내오기 때문에 속도가 빠르다. HashMap hashMap = new HashMap(); hashMap.put("사과", 1); //쓰기 System.out.println(hashM tech-heng.tisto..
📍 연속합 정의 주어진 수열에서 연속된 부분 수열의 합 중 최댓값을 구하는 문제 📍 해결 방법 ① DP ◾ WHEN? 입력 크기가 작은 경우 ◾ HOW? 이전 부분 수열의 합에 현재 수를 더하면서 최댓값 업데이트 (점화식 : 현재 수를 더할 것인지 or 현재 수부터 새로운 부분 수열을 시작할 것인지 결정) ② 투 포인터 ◾ WHEN? 입력 크기가 큰 경우 & 수열 순서가 중요한 문제 (수열의 순서를 유지하며 부분 수열을 구할 수 있으므로) ◾ HOW? 시작 포인터와 끝 포인터를 조정하면서 합을 계산하고, 최댓값 업데이트 ➕ 예제 [백준/JAVA] 1644번: 소수의 연속합 🔺 문제 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net..
📍 조합 (C) 순서 고려 X. 뽑기만 - r ! → 순서가 다른 경우의 수 제거 - 동적 계획법 → 점화식 - 파스칼의 삼각형 📍 점화식 세우는 과정 1. 특정 문제 가정 2. 모든 부분 문제가 해결된 상황이라 가정하고 지금 문제 생각 3. 특정 문제 해결한 내용 바탕으로 일반 점화식 도출 📍 예제 [백준/JAVA] 16395번: 파스칼의 삼각형 📖 문제 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 bono039.tistory.com [백준/JAVA] 11050번: 이항 계수 1 🔺 문제 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어..
imname1am
'코테/개인적으로 헷갈리는 거' 카테고리의 글 목록