본문 바로가기
728x90

Java21

[ Java/자바 ] DFS 와 BFS DFS(Deep First Search)란 깊이 우선 탐색이다.아래 코드는 단방향 DFS 이다.static int[][] arr; static boolean[] visit; static List> adjList; public static void main(String[] args) { arr = new int[][]{{0, 1}, {0, 2}, {1, 3}, {2, 3}, {2, 4}}; visit = new boolean[arr.length]; Arrays.fill(visit,true); adjList = new ArrayList(); for(int i = 0 ; i ()); for(int[] j .. 2024. 6. 25.
[ Java/자바] 백준(BOJ) 2751- 수 정렬하기2 (실버5) 문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 해당 문제의 경우 문제 자체는 매우 간단하고 쉽다. 그래서 3가지 방법으로 풀어보았다.1. PriorityQueue 를 사용하여 풀이2. Heapify 와 HeapSort를 구현하여 풀이3. Collections.sort()를 사용한 풀이 먼저 이 문제의 경우 위 3가지 방법으로 풀어도 System.out.println(); 으로 출력을 하게 된다.. 2024. 6. 24.
[ JAVA / 자바 ] 백준(BOJ) 2193 - 이친수(실버3) 문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 출력첫째 줄에 N자리 이친수의 개수를 출력한다. 이 문제 자체는 어렵지 않다. 이친수랑 0과 1로 이루어져 있고.. 2024. 6. 17.
[ 자바/Java] Java_Stream 혼공stream의 대상 : Collection 과 배열을 대상으로 스트림 생성함수형 프로그래밍 방식 : 데이터와 객체 중심이 아닌, 입력에 따른 출력만 존재데이터의 안정성 향상java에서 함수형프로그래밍을 지원하기 위한 라이브러리가 streamAPI=> stream, intstream stream 생성 String[] stArr = {"HTML", "CSS", "JAVA", "PYTHON"};// stream : 제네릭타입으로 stream객체가 생성 Stream stream1 = Arrays.stream(stArr); List stList = new ArrayList(Arrays.asList(stArr)); Stream stream2 = st.. 2024. 6. 17.
728x90