전체 글

좋은 성과를 얻으려면 한 걸음 한 걸음이 힘차고 충실하지 않으면 안 된다. -단테
·Language/Java
JAVA로 프로그래밍을 하다 보면 배열이나 리스트를 정렬해야 될 때가 있습니다. 1차원 배열은 간단히 sort() 메서드를 사용하여 간편하게 정렬할 수 있지만 2차원 배열을 정렬하기 위해서는 다른 방법이 필요합니다.  이번 포스팅에서는 이 "다른 방법"에 대해서 살펴보겠습니다. 1차원 배열의 정렬오름차순 정렬import java.util.Arrays;public class SortExample { public static void main(String[] args) { int[] arr = {5, 3, 8, 1, 2}; // 오름차순 정렬 Arrays.sort(arr); // 기본 정렬은 오름차순 System.out.println("오름차순 정렬:..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이 이번 문제는 N개의 배열에서 M배열의 요소가 존재하는지 판단하는 문제입니다. 문자열에서 숫자를 찾는 방식을 사용할 수도 있지만, 문자열에서 숫자를 찾는 방식은 비효율적입니다. 따라서 이진 탐색을 사용하면 시간 복잡도를 크게 줄일 수 있습니다.  main문에서는 먼저 빠른 입력과 출력을 위해서 Buffer클래스를 사용하여 입력과 출력을 받아줍니다. StringTokenizer를 사용하여 공백을 구분하고 배열에 저장해 주고, 이진탐색에서 선행되어야 하는 정렬을 수행해줍니다. 그리고 이진 탐색함수로 받은 결과를 StringBuilder를 사용하여 결과를 추가해 줍니다. 이진탐색을 수행할 binarySearch 함수에서는 이진 탐색의 동작 방식인 시작점 left와 끝점 right..
·Algorithm
자바를 활용하다 보면 데이터 집합에서 특정 값을 빠르게 찾아야 할 때가 있습니다.  예를 들어, 정렬된 배열이나 리스트에서 원하는 값을 효율적으로 검색해야 하는 경우가 그렇습니다. 이러한 상황에서 사용하는 것이 바로 이진 탐색(Binary Search)입니다.  이진 탐색(Binary Search)란❓이진 탐색은 데이터가 정렬된 상태에서 중간 값을 기준으로 탐색 범위를 절반씩 좁혀가며 원하는 값을 찾는 효율적인 알고리즘입니다. 동작 방식이진 탐색은 다음과 같은 단계로 동작합니다초기 설정: 탐색 범위의 시작점(left)과 끝점(right)을 설정합니다. 처음에는 배열의 시작 인덱스와 끝 인덱스를 사용합니다.중간점 계산: 중간 인덱스(mid)를 계산합니다. mid = left + (right - left) ..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이 이번 문제는 N×M크기의 배열로 표현되는 미로가 있을 때 (1,1)에서 시작해서 주어진 (N, M)까지 가는 최단 거리를 출력하는 문제입니다. 문제를 딱 보면 알 수 있듯이 BFS로 풀어야 합니다. 코드를 나눠서 설명해보겠습니다. 먼저 자주 선언되는 변수들을 전역변수로 선언하여 가독성을 높여줍니다. N x M의 배열로 표현되는 미로의 크기를 받아줄 N, M 그리고 미로 map, 방문 여부를 체크할 visited를 전역변수로 선언해 줍니다. 그리고 상하좌우로 이동할 dx와 dy를 초기화를 해줍니다. 이 방향 배열은 개인이 어느 방향으로 설정할지에 따라서 다릅니다.  상(Up): X 좌표는 위로 이동하므로 dx [] 값이 음수가 됩니다.dx [0] = -1, dy [0] = ..
지누박
ZINU