자바
-
자바 스트림 설명부터 사용하는 이유 파헤쳐보기 #JAVA #스트림JAVA 2023. 1. 29. 16:53
자바 스트림 설명부터 사용하는 이유 파헤쳐보기 #JAVA #스트림 안녕하세요? 장장스입니다. 오늘은 자바 스트림에 대해서 정리해 보겠습니다. 스트림(Stream)이란 무엇인가? 스트림(Stream)은 자바 8 API에 새로 추가된 기능이다. 스트림을 이용하면 선언형(더 간결하고 가독성이 좋도록)으로 컬렉션 데이터를 처리할 수 있다. ※ JAVA Colletion Data의 상속구조 일단 스트림이 데이터 컬렉션 반복을 멋지게 처리하는 기능이라고 생각하자. 또한 스트림을 이용하면 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 예를 들어, Dish 클래스의 리스트 형태인(List) menu 리스트가 있을 때, 저칼로리 순서대로 음식명을 추출하고자 한다. //1. low 칼로리 음..
-
자바 람다 표현식 설명부터 사용법까지 완벽 정리 #JAVA #람다JAVA 2023. 1. 3. 00:20
자바 람다 표현식 설명부터 사용법까지 완벽 정리 #JAVA #람다 안녕하세요? 장장스입니다. 오늘은 자바 8에 추가된 람다에 대해 정리하겠습니다. 람다란 무엇인가? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있습니다. 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트를 가질 수 있습니다. 람다의 특징을 하나씩 살펴보면, ▶ 익명 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드가 줄어든다. ▶ 함수 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. ▶ 전달 람다 표현식을 메서드 인수로 전달하거나..
-
[백준] 3197 백조의 호수 #JAVA #BFS #시간초과Algorithm Solving/BAEKJOON 2022. 1. 13. 12:10
[백준] 3197 백조의 호수 #JAVA #BFS #시간초과 코드 import java.io.*; import java.util.*; public class Main { static int[] dx = {0,1,0,-1}; static int[] dy = {1,0,-1,0}; static int R, C; static char[][] map; static boolean[][] visSwan, visWater; static Queue waterQ, waterNextQ, swanQ, swanNextQ; static int startX, startY, endX, endY; public static void main(String[] args) throws IOException { BufferedReader br..
-
[백준] 18809 Gaaaaaaaaaarden #JAVA #백트래킹 #bfsAlgorithm Solving/BAEKJOON 2022. 1. 12. 14:34
[백준] 18809 Gaaaaaaaaaarden #JAVA #백트래킹 #bfs 오랜 시간이 걸려서 풀었던 문제. 코드 import java.io.*; import java.util.*; public class Main { static List baeyang; static int N,M,G,R; static int[][] garden; static int[] selectBaeyang; static int[] selectGR; static boolean[] isUsedBaeyang; static int[] spotG, spotR; static int[] dx = {0,1,0,-1}; static int[] dy = {1,0,-1,0}; static int max = 0; public static void m..
-
[백준] 1202 보석 도둑 #JAVA #우선순위 큐Algorithm Solving/BAEKJOON 2021. 12. 26. 14:34
[백준] 1202 보석 도둑 #JAVA #우선순위 큐 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new Inp..
-
[백준] 7662 이중 우선순위 큐 #JAVA #이진 탐색 트리Algorithm Solving/BAEKJOON 2021. 12. 24. 18:15
[백준] 7662 이중 우선순위 큐 #JAVA #이진 탐색 트리 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Map.Entry; import java.util.StringTokenizer; import java.util.TreeMap; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new S..
-
[백준] 3190 뱀 #JAVA #시뮬레이션Algorithm Solving/BAEKJOON 2021. 12. 17. 13:33
[백준] 3190 뱀 #JAVA #시뮬레이션 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine());//보드 크기 int K = Integer.parseInt(br.readLine());//사과 개수 int[][] board = new int[N][N]; StringTokenizer st; for (int i = 0; i < K; i++) { //..
-
[백준] 2461 대표선수 #JAVA #투포인터Algorithm Solving/BAEKJOON 2021. 11. 27. 08:01
[백준] 2461 대표선수 #JAVA #투포인터 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { static int N,M; static int count[]; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S..
-
[백준] 2143 두 배열의 합 #JAVA #이분탐색Algorithm Solving/BAEKJOON 2021. 11. 18. 20:39
[백준] 2143 두 배열의 합 #JAVA 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] arrA, arrB; int[] subArrA, subArrB; StringTokenizer stA,stB; long total = 0; // 21억개를 초과하는 경우가 존재 int T = Integer.parseInt(br.readLine()); int N = Integer.parseInt(br.readLin..
-
[자료구조] 해시 구현하기 #javaDataStructures 2021. 10. 5. 16:46
해시 자료구조 자바로 구현하기 해시 자료구조 설명 해시 자료구조 JAVA 구현 Hash.java public class Hash implements HashInterface{ class HashElement implements Comparable{ K key; V value; public HashElement(K key, V value){ this.key = key; this.value = value; } @Override public int compareTo(HashElement o) { return (((Comparable)this.key).compareTo(o.key)); } } int numElements; int tableSize; //array size double maxLoadFactor; ..