전체 글

프로그래밍 기술 및 관심사 공유 목적으로 블로그를 운영하고 있습니다. 감사합니다.
Java/아키텍처 & 디자인 패턴

[Java] 개발 환경에 따라 각각 환경 파일 구성 방법: application.properties

해당 글에서는 Spring Boot 기반 로컬, QA, 운영 환경에서 각각 다른 환경파일을 사용하는 방법에 대해서 공유합니다. 1) 개발환경 분류 이름 버전 언어 Java 11 프레임워크 Spring Boot 2.7.12 프레임워크 Spring Framework 6.0.9 의존성 관리 Gradle 7.6.1 개발 툴 IntelliJ IDEA 2023.1 API 테스트 툴 Postman 2) application.properties 파일 설정 💡 application.properties 란? - Spring Boot 애플리케이션의 구성 속성을 설정하는 데 사용되는 파일입니다. - 이 파일은 애플리케이션의 클래스 경로에 위치하며, 키-값 쌍의 형식으로 구성됩니다. 이 파일을 사용하면 애플리케이션의 동작을 구..

Java/Short 개발

[Java/Short] 두 개의 배열을 하나의 배열로 합치는 다양한 방법

해당 글에서는 두 개의 타입이 동일한 배열을 하나로 합치는 방법에 대해서 공유합니다. 1) System.arraycopy() 메서드를 이용하여 구성 💡 해당 방법은 System.arraycopy() 함수를 이용하여서 새로운 배열로 구성하는 방법입니다. 💡 이는 내부 함수 java.lang.System를 이용하여서 두 개의 배열을 하나로 조합합니다. // 두 개의 배열 생성 int[] arr1 = {1, 2, 3}; int[] arr2 = {4, 5, 6}; // 두 개의 배열을 합쳐 새로운 배열 생성 int[] arr3 = new int[arr1.length + arr2.length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(..

Java/Short 개발

[Java/Short] 배열/리스트의 요소를 역순으로 재구성 방법 : forward to reverse

해당 글에서는 배열/리스트를 역순으로 재구성하는 방법에 대해서 알아봅니다. 1) 배열의 요소를 역순으로 재구성 방법 1. for문 인덱스를 활용한 방법-1 💡 배열을 역순으로 순회하면서 파라미터로 전달받은 값을 새롭게 구성한 값으로 대입하는 방법입니다. 1. 배열의 길이만큼 새로운 배열을 생성합니다. 2. for문을 이용하여 역순으로 배열을 순회합니다. 이를 이용하여 전달받은 값을 새로운 배열에 대입합니다 // 1 public static int[] reverseArray(int[] arr) { // 1. 값이 존재하는 배열과 새로 넣으려는 배열을 선언합니다. int[] result = new int[arr.length]; for (int i = 0; i < arr.length; i++) { result..

Java/알고리즘 & 자료구조

[Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -2 : 종류 별 이해

해당 글에서는 탐색 알고리즘 중 탐색 알고리즘에서 완전 탐색의 종류 별로 상세하게 이해를 돕기 위해 작성한 글입니다.   💡 [참고] 이전에 작성한 글을 읽고 오시면 도움이 됩니다. [Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -1 : 정의 및 종류해당 글에서는 탐색 알고리즘 중에서 완전 탐색 알고리즘에 대해 이해하고 각각의 종류에 대해 이해 및 시간 복잡도에 대해 확인해 봅니다. 1) 완전 탐색(Exhaustive Search) 💡 완전 탐색(Exhaustive Searadjh54.tistory.com    1) 완전 탐색(Exhaustive Search)💡 완전 탐색(Exhaustive Search)- ‘모든 가능한 경우의 수를 탐색’하여 ‘최적의 결과를 찾는 방법..

Java/알고리즘 & 자료구조

[Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -1 : 정의 및 종류

해당 글에서는 탐색 알고리즘 중에서 완전 탐색 알고리즘에 대해 이해하고 각각의 종류에 대해 이해 및 시간 복잡도에 대해 확인해 봅니다.  1) 완전 탐색(Exhaustive Search)💡 완전 탐색(Exhaustive Search)이란?- ‘모든 가능한 경우의 수를 탐색’하여 ‘최적의 결과를 찾는 방법’을 의미합니다.- 모든 가능성을 고려하기 때문에 항상 최적의 해를 찾을 수 있지만 경우의 수가 매우 많은 경우 시간과 메모리의 부담이 커질 수 있습니다. 그렇기에 문제의 특성에 따라 다른 탐색 기법을 사용하는 것이 좋습니다.  2) 완전 탐색의 종류 💡완전 탐색의 종류- 탐색 알고리즘 중에서 '완전 탐색'에 대해 이해하고 각각의 탐색 종류에 대해서 이해합니다.알고리즘 종류설명장점단점브루트 포스‘모든 ..

Java/알고리즘 & 자료구조

[Java/자료구조] 선형 배열(Linear Array) 이해하기

해당 글에서는 알고리즘 중 선형 배열에 대해 이해를 돕기 위해 작성한 글입니다. 1) 선형 배열(Linear Array)💡 선형 배열(Linear Array) 이란? - 데이터 요소들이 ‘일렬로 연결되어 있는 배열’을 의미합니다. - 각 요소들은 인덱스라는 고유한 숫자로 식별되며 배열을 선언할 때 각 요소에 데이터 타입과 배열의 길이를 지정해야 합니다. [ 더 알아보기 ] 💡 비선형 배열(Non-Linear Array) - 데이터를 일렬로 나열하지 않고, 특정한 규칙에 따라 구조를 형성하는 배열을 의미합니다. - 대표적인 비선형 배열로는 트리(tree)와 그래프(graph)가 있습니다. 트리는 부모-자식 관계를 가진 노드들이 연결된 구조이며, 그래프는 노드와 간선(edge)으로 이루어진 구조입니다. 2)..

Java/알고리즘 & 자료구조

[Java/알고리즘] 재귀 함수(Recursion Function) 이해하기

해당 글에서는 재귀함수에 대해 이해하며 다양한 예시와 재귀함수를 이용한 알고리즘을 기반으로 이해를 돕기 위해 작성한 글입니다. 1) 재귀함수(Recursion Function)💡 재귀함수(Recursion Function)란? - 함수 내부에서 ‘자기 자신을 호출’하는 함수를 의미합니다. 이를 통해서 함수가 자신을 반복적으로 호출하면서 원하는 결과를 도출할 수 있습니다. - 단, 재귀함수를 사용하는 경우 함수 호출이 계속해서 쌓이기 때문에 호출 스택이 많아져서 성능이 저하될 수 있습니다. 따라서 재귀함수를 작성할 때는 무한루프에 빠지지 않도록 종료 조건을 명확하게 설정해주어야 합니다. [ 더 알아보기 ] 💡 호출 스택(Call Stack)이란? - 프로그램에서 함수나 메서드를 호출할 때 해당 함수나 메서..

Java/알고리즘 & 자료구조

[Java/알고리즘] 선형 탐색(Linear Search) 이해하기

해당 글에서는 알고리즘 중 선형 탐색에 대해 이해를 돕기 위해 작성한 글입니다.   1) 선형 탐색(Linear Search)💡 선형 탐색(Linear Search) 이란?- 배열이나 리스트의 ‘처음부터 끝까지 하나씩 값을 비교하면서 찾는 값을 찾을 때’까지 탐색하는 방법입니다.- 선형 탐색의 경우 '정렬이 되지 않은 상태'의 배열/리스트에서 값을 찾기 위한 탐색에 사용합니다.(* 이진 탐색과 비교가 되며 정렬이 된 상태에서 사용하는 이진 탐색과 사용되는 방식이 다릅니다) [ 더 알아보기 ]💡 이진 탐색(Binary Search) 란?- ‘정렬된 배열’에서 ‘특정 값’을 찾는 알고리즘을 의미합니다.- 해당 탐색 방식은 정렬이 된 배열에서 사용이 됩니다.  💡 [참고] 아래의 글을 참고하시면 이진탐색..

adjh54
Contributor9