Java 썸네일형 리스트형 for문을 이용한 A-Z까지 List에 넣기 for문을 이용한 A-Z까지 List에 넣기 List dic = new ArrayList(); for(char i='A'; i 더보기 List 원소 변경 List 원소 변경:List.set(int index,Object element) List list = new ArrayList(); for(int i=0; i 더보기 인터페이스와 추상클래스의 차이점 인터페이스 인터페이스는 추상 클래스보다 추상화 정도가 높으며 추상 클래스와는 다르게 구현부가 있는 일반 메서드, 일반 멤버 변수를 가질 수 없다는 특징이 있습니다. 추상 클래스 class 앞에 'abstract' 키워드를 사용하여 정의하며, 하나 이상의 추상 메서드를 가지는 클래스를 말합니다. 추상 메서드를 선언하여 상속을 통해서 하위 클래스에서 구현하도록 강제하는 클래스입니다. 차이점 추상 클래스는 extends키워드를 사용하며 다중상속이 불가능하지만 인터페이스는 implements키워드를 사용하며 다중상속이 가능하다. 추상클래스는 일반 변수, 생성자, 일반 메서드, 추상 메서드를 모두 가질 수 있는 반면 인터페이스는 상수와 추상 메서드만 가질 수 있고, 생성자와 일반 변수는 가질 수 없습니다. 더보기 list.indexOf() list.indexOf(Object o), list.lastIndexOf(Object o) for(int i=0; i 더보기 2차원배열 정렬 및 중복계산제거로 인한 알고리즘 실행시간 줄이기 2차원 배열 정렬 (1) Comparator 클래스 구현 Arrays.sort(scope, new Comparator() { @Override public int compare(int[] o1, int[] o2) { return o1[0]-o2[0]; // 첫번쨰 숫자 기준 오름차순 //return o2[0]-o1[0]; // 첫번째 숫자 기준 내림차순 //return o1[1]-o2[1]; // 두번째 숫자 기준 오름차순 { //return o2[1]-o1[1]; // 두번째 숫자 기준 내림차순 } }); (2) 람다 사용 Arrays.sort(scope,(o1, o2) ->o1[0]-o2[0]); (3) Comparator.comparing() 사용 Arrays.sort(scope, Comparato.. 더보기 for문 순열,XOR 연산자 숫자 1~3까지 중복되지 않게 뽑기 for (int i = 1; i < 4; i++) { for (int j = 1; j < 4; j++) { if (j != i) { for (int p = 1; p < 4; p++) { if (p != i && p != j) { System.out.println(i+" "+j+" "+p); } } } } } XOR연산자: ^ XOR:비트가 다르면 1,비트가 같으면 0을 반환하는 논리 연산자 더보기 객체 hashSet 중복제거 package Level2.October22; import java.util.HashSet; public class VisitLength { //방문길이 public static void main(String[] args) { String dirs = "ULURRDLLU"; System.out.println(solution(dirs)); } public static int solution(String dirs) { Coordinate coordinate = new Coordinate(0,0); HashSet hashSet = new HashSet(); for(int i=0; i=-5){ coordinate.update(-1,0); hashSet.add(new Coordinate(coordinate.get.. 더보기 LRU,동적계획법,메모이제이션 LRU(Least Recently Used) 가장 오랫동안 참조되지 않은 페이지를 교체하는 방식 동적계획법(Dynamic Programming) 큰 문제를 한 번에 해결하기 힘들 때 작은 여러 개의 문제로 나누어서 푸는 기법 Top-down:상위 문제를 해결하기 위해서 하위 문제를 재귀적으로 호출하여 하위 문제를 해결함으로써 상위 문제를 해결하는 방식 bottom-up:하위에서부터 문제를 해결해나가면서 먼저 계산했던 문제들의 값을 활용해서 상위 문제를 해결해나가는 방식 메모이제이션(Memoization) 기존의 정보를 저장함으로써 같은 입력값에 대해 함수가 한번만 실행하게 됨 static int fibo(int x) { if( x ==1 || x==2) return 1; return fibo(x-1) +.. 더보기 이전 1 2 3 다음