전체 글106 제네릭 클래스 Generics, 제너릭 클래스 메서드, <T> '제너릭 generic'을 잘 알고 썼다고 생각했지만, 모르겠는 것들이 점차 생기면서 내가 잘 알고 있지 못하다는 생각이 들어 차근차근 알아보려고 한다. 먼저 제네릭 클래스의 코드를 보자. class FruitBox{ Object item; public void store(Object item){ this.item = item; } public Object pullOut(){ return item; } } class FruitBox{ //제네릭 클래스를 사용하려는 형태. 타입 T에 꼭 써워야 한다. T item; public void store(T item){ this.item = item; } public T pullOut(){ return item; } } 는 제네릭 클래스를 사용하려는 형태이고, T.. 2021. 9. 13. [java] 이중 콜론 연산자 :: 이중 콜론 연산자 (Double Colon Operator) 람다(Lamda)식과 함께 살펴보려고 한다. 람다식과 이중 콜론 연산자를 이용하면 간결하게 표현할 수 있는데, 예를 들어 comparator를 생성해보자 #1 lamda Comparator c = (Computer c1, Computer c2) -> { c1.getAge().compareTo( c2.getAge() ) }; #2 lamda Comparator c = (c1, c2) -> { c1.getAge().compareTo( c2.getAge() }; #3 :: Comparator c = Comparator.comparing(Computer::getAge()); 위에 두 람다식보다 이중콜론 연산자가 훨씩 읽기 쉽고 짧게 표현할 수 있다. .. 2021. 9. 12. 그리디 알고리즘 greedy 알고리즘은 매 결정 순간 비용이 적은 것을 선택하는 알고리즘이다. 그리디 알고리즘은 이전의 탐욕 선택이 이후 선택에 영향을 주지 않는 문제에서 자주 사용된다. (독립적) 왜냐, 최적해에 근사한 값일 뿐 최적해를 만족하지 못한다. A-B가 B-C경로에 영향주지 않음. 또, 전체 최적해가 부분 문제에 대해서도 최적해를 만족하는 문제에서 사용된다. A-B 와 B-C은 전체인 A-C최적해의 부분 문제가 되기 때문에 그리디 알고리즘을 적용하기 적절한 문제다. 그렇지만 속도가 매우 빨라 동적계획법과 그리디 알고리즘이 혼용되어 쓰이기도 한다. 이제 그리디 알고리즘 풀어야지... 참고한 블로그 st-lab.tistory.com/143 2021. 4. 26. 백준알고리즘:p9663 N-Queen 분류: 백트래킹 ▶문제 먼저 체스게임에서 퀸의 능력은 원하는 만큼 상하좌우 대각선으로 이동할 수 있다. (다만, 한 방향으로만 가야됨) N*N체스판에서 퀸 N개가 서로 공격하지 않도록 놓는 방법의 갯수를 출력해야 한다. 아래 사진처럼 퀸이 움직인다. 즉 체스말이 현재 있는 곳에서 갈 수 있는 모든 곳을 x표시하고, 다른 말이 있는게 가능한 곳에서 또 x표시하는 반복을 한다. ▶코드 //백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 package backtracking; import java.util.Scanner; public class p9663_1 { public static int N; public static int[] arr; public static int count; //가로줄 하.. 2021. 4. 9. 백준알고리즘:p18870 좌표압축 분류: 정렬 ▶문제 입력받은 숫자의 순위를 정해서, 입력받은 순서대로 순위를 나타내면 된다. ▶통과 못한 코드_시간초과 //백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 package sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; public class p18870 { //좌표정렬_시간초과 public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(.. 2021. 4. 8. 백준알고리즘:p10814 나이순 정렬 순서가 좀 바뀌었지만 풀긴 먼저 풀었었다. 여러 방식으로 풀어보느라 정리를 미뤄놨던 터라 분류: 정렬 ▶문제 ▶sort로 정렬 Comparator //백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨 package sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class p10814 { //나이순 정렬 public static void main(String[] args) throws IOExceptio.. 2021. 4. 8. 이전 1 ··· 6 7 8 9 10 11 12 ··· 18 다음