본문 바로가기

분류 전체보기

(203)
백준 1012: 유기농 배추[JAVA] https://www.acmicpc.net/problem/1012 1012번: 유기농 배추차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net  [난이도]- Silver 3 [알고리즘]- bfs [코드]import java.io.*;import java.util.*;public class Main { static boolean[][] visited; static int[][] graph; static int N, M, answer = 0; static int[] dx = {-1, 1..
[이펙티브 자바] 아이템 48. 스트림 병렬화는 주의해서 사용하라 병렬화를 사용하면 여러 프로세스 또는 스레드를 동시에 실행하여 작업을 처리한다. 이렇게 함으로써 여러 프로세서 또는 코어를 활용하여 작업을 분산시키고 병렬적으로 실행함으로써 전체 작업을 효율적으로 처리할 수 있다. 하지만 스트림 병렬화는 절대 시도조차 하지 말자. 데이터 소스가 Stream.iterate 거나 중간 연산으로 limit을 쓰면 파이프라인 병렬화로는 성능 개선을 기대할 수 없다. Stream.iterate 메서드는 무한한 요소 시퀀스를 생성하므로 병렬 처리가 어렵다. 또한 limit 메서드는 요소의 수를 제한하기 때문에 요소를 나누어 병렬 처리하는 것이 어려워진다. 이러한 상황에서는 파이프라인 병렬화로 성능 향상을 기대하기 어렵다.  스트림을 잘못 병렬화하면 (응답 불가를 포함해) ..
[이펙티브 자바] 아이템 47. 반환 타입으로는 스트림보다 컬렉션이 낫다 컬렉션(Collection):일련의 객체를 저장하고 관리하는 자료구조.주요 컬렉션 인터페이스에는 List, Set, Queue 등이 있으며, 각각 ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue 등의 구현체가 있다.컬렉션은 데이터를 저장하고 필요할 때 검색, 추가, 삭제 등의 작업을 수행할 수 있다.컬렉션은 데이터의 저장 순서가 보장될 수 있고, 중복된 요소를 허용할 수도 있다.스트림(Stream):데이터를 처리하는 파이프라인 형태의 API.자료 처리 연산을 지원하며, 이를 이용하여 데이터를 필터링, 매핑, 정렬, 그룹화하는 등의 작업을 수행할 수 있다.스트림은 컬렉션, 배열, 파일 등의 데이터 소스에서 데이터를 가져와서 연속된 연산..
백준 25418: 정수 a를 k로 만들기[JAVA] https://www.acmicpc.net/problem/25418 25418번: 정수 a를 k로 만들기7(A), 8(연산 1), 9(연산 1), 18(연산 2), 19(연산 1), 38(연산 2), 76(연산 2), 77(연산 1)이 최소 연산이므로 정답은 7이다.www.acmicpc.net  [난이도]- Silver 3 [알고리즘]- bfs [코드]import java.io.*;import java.util.*;public class Main { static int A, K, answer = Integer.MAX_VALUE; public static void main(String[] args) throws Exception { Buf..
백준 2606: 바이러스[JAVA] https://www.acmicpc.net/problem/2606 2606번: 바이러스첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍www.acmicpc.net[난이도]- Silver 3 [알고리즘]- bfs [코드]import java.io.*;import java.util.*;public class Main { static int[][] graph; static boolean[] visited; static int n,m, answer = 0; public static void main(Str..
백준 26876: New Time[JAVA] https://www.acmicpc.net/problem/26876 26876번: New TimeNikolay has a digital clock that displays time in 24-hour format, showing two integers: hours (from $00$ to $23$) and minutes (from $00$ to $59$). For example, the clock can show 00:00, 18:42, or 23:59. The clock has two buttons that can be used for manualwww.acmicpc.net [난이도]- Silver 4 [알고리즘]- 부르트 포스 [코드]import java.io.*;i..
백준 2003: 수들의 합 2[JAVA] https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.www.acmicpc.net [난이도]- Silver 4 [알고리즘]- 부르트 포스 [코드]import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br ..
16173 점프와 쩰리 https://www.acmicpc.net/problem/16173 (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다." data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/problem/16173" data-og-url="https://www.acmicpc.net/problem/16173" data-og-image="https://scrap.kakaocdn.net/dn/cOClmT/hyVSWUGGa9/IaWm6YKetoIlkBswTwuPdk/img.png?width=2834&height=1480&face=0_0_2834_1480"> 16173번: 점프왕 쩰리 (Small)쩰리는 ..