crossorigin="anonymous">
[Java/API] ArrayList Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 List 인터페이스를 구현한 클래스인 ArrayList의 메서드의 API에 대해서 확인합니다. 1) List / ArrayList 💡 List 란? - 순서가 있는 데이터 집합을 나타내는 ‘인터페이스’입니다. - List는 중복된 요소를 허용하며 인덱스를 사용하여 요소에 접근할 수 있습니다. 💡 ArrayList란? - List 인터페이스를 구현한 클래스 중 하나로 ‘구현체’입니다. - 내부적으로 동적 배열로 구현되어 있으며 요소를 추가하거나 삭제할 때마다 크기를 자동 조절합니다. - 배열과 유사한 방식으로 인덱스를 사용하여 요소에 접근 할 수 있습니다. // List 선언 및 초기화 List list = new ArrayList(); // ArrayList ..
[Java/Short] 배열/리스트의 요소를 원하는 개수만큼 재 구성 방법
·
Java/Short 개발
해당 글에서는 배열/리스트를 원하는 개수만큼 묶어서 재 구성을 하는 방법에 대해서 공유합니다. 고정된 사이즈 혹은 순차적인 개수로 묶습니다. 1) 배열의 요소를 원하는 개수만큼 배열로 재구성 방법 1. 지정한 크기의 인덱스로 재 구성 방법 💡 해당 방법은 요소가 총 6개인 배열이 있다고 가정하였을 때, 첫 번째는 인덱스 0, 1, 2를 하나의 묶음으로 하고 두 번째는 3, 4, 5를 하나의 묶음으로 하는 배열로 재구성을 위한 방법입니다. 💡 아래의 예시를 통해서 해당 방법에 대해 익힙니다. 1.1. 재구성한 배열의 요소의 합을 구하는 방법 💡 해당 예시에서는 순회하면서 k 만큼 묶는 방법을 의미합니다. 💡 아래에서는 배열에서 0, 1, 2번 요소를 한 묶음으로 하고 3, 4, 5번을 한 묶음으로 하여 묶..
[Java/Short] 문자열을 배열로 변환 방법 : String to String[], char[]
·
Java/Short 개발
해당 글에서는 문자열을 문자열 배열 혹은 문자 배열로 변환 방법에 대해서 확인해봅니다. 1) 구분자(delimiter) 💡 구분자(delimiter) 란? - 문자열을 나누는 기준이 되는 문자를 말합니다. - 예를 들어, "apple,banana,kiwi"와 같은 문자열을 쉼표(,)를 구분자로 사용하여 "apple", "banana", "kiwi"로 나눌 수 있습니다. 2) 구분자(delimiter)가 포함되지 않은 문자열 1. split()를 이용한 방법 : String to String[] 💡 split() 메서드를 이용하여서 ‘구분자(delimiter)’에 따라서 배열로 변환합니다. String alphabet = "abcdefg"; String[] alphabetArr = alphabet.spli..
[Java/Short] 배열, 리스트를 문자열로 변환 방법 : Array, List to String
·
Java/Short 개발
해당 글에서는 값이 존재하는 배열이나 리스트 내용을 하나의 문자열로 변환하는 방법에 대해서 확인해봅니다. 1) String.join()를 이용한 방법 💡 String.join 함수를 이용하여서 Array, List를 문자열로 변환하는 예시입니다. // List to String List list = new ArrayList(); list.add("Java"); list.add("List"); list.add("String"); String resultList = String.join("", list); System.out.println(resultList); // "JavaListString" // Array to String String[] arr = {"java", "List", "String"}; ..
[Java/알고리즘] 이진 탐색(Binary Search) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중 이진/이분 탐색에 대해서 이해를 돕기 위해 작성한 글입니다.  1) 이진 탐색(Binary Search)💡 이진탐색(Binary Search)이란?- ‘정렬된 배열’에서 ‘특정 값’을 찾는 알고리즘을 의미합니다.- 이진탐색은 ‘탐색 범위를 절반씩 줄여’나가기 때문에 선형탐색에 비해 빠른 속도를 보장합니다. 하지만 ‘배열이 정렬되어 있어야 한다는 조건’이 필요하기 때문에 배열이 정렬되어 있지 않은 경우에는 정렬 작업이 필요합니다. [ 더 알아보기 ]💡 선형탐색(Linear Search) 이란?- 배열(Array)이나 리스트(List)와 같은 데이터 구조에서 특정한 값을 찾는 알고리즘 중 하나입니다. 1. 이진탐색 과정1. 배열의 ‘중간 값’을 선택하여 찾고자 하는 값과 비교합..
[Java/알고리즘] 시간 복잡도, 공간 복잡도, 빅오 표기법 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 효율적인 알고리즘에 대한 설계 및 구현방법과 관련된 시간 복잡도와 공간 복잡도를 이용하며 이를 표기하는 빅오 표기법에 대해서 이해를 돕기 위해 작성한 글입니다. 1) 시간 복잡도(Time Complexity)💡 시간 복잡도(Time Complexity) - 알고리즘이 실행될 때 필요한 ‘입력 값’과 ‘연산 수행 시간’에 따라 ‘효율적인 알고리즘’을 나타내는 척도를 의미합니다. - 즉, 입력 값이 커질수록 알고리즘의 수행 시간이 어떻게 증가하는지에 따른 지표를 의미합니다. - 시간 복잡도는 ‘빅오 표기법(Big-O notation)’를 통해 표현하며, ‘수치가 작을수록 효율적인 알고리즘’을 의미합니다. 2) 공간 복잡도(Space Complexity)💡 공간 복잡도(Space Complexi..
[Java/자료구조] 선형구조 - 스택(Stack), 큐(Queue) 이해하기 -2 : 문제로 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 스택 / 큐에 대해서 다양한 문제를 통해서 이해를 돕기 위해 작성한 글입니다. 💡 스택과 큐에 대한 상세한 이론에 대해서 공부를 하고 싶으시면 아래의 링크를 참고하시면 크게 도움이 됩니다 [Java/자료구조론] 선형구조 이해하기 : 큐(Queue), 스텍(Stack), 덱(Deque)해당 글에서는 자료구조론 중 선형 구조인 큐(Queue)와 스택(Stack), 덱(Deque)에 대해서 이해하고 언제 사용하며 각각의 장단점이 무엇인지에 대해 알아보기 위한 글입니다. 1) 선형 구조(Linear) 💡 선adjh54.tistory.com [Java] Collection Framework(Queue, Stack, Deque)의 인터페이스와 구현체 이해하기 -2 : 정의 및 예시해당 글에서는 컬렉션..
[Java/Short] 카운트 Array/Map 구현방법: Counting Array, Counting Map
·
Java/Short 개발
해당 글에서는 Counting 배열과 Map을 구현하는 방법에 대해서 이해를 돕기 위해 작성한 글입니다. 1) Counting 배열 구성 : Array를 이용한 방법 💡 Counting 배열 구성방법 - 배열의 요소 값에 따라 새로운 배열에 인덱스 위치와 매칭하여 각각을 Counting 하는 새로운 배열을 구성합니다. 1. 배열의 요소의 최대값에 맞게 배열을 새로 정의합니다. 2. Counting 배열을 구성합니다 : 배열을 순회하면서 요소의 값과 인덱스가 같은 경우 값을 1을 더합니다. // 개수를 확인하려는 배열 int[] arr = {1, 3, 2, 5, 4, 5, 2, 3}; // [STEP1] 배열의 요소의 최대값에 맞게 배열을 새로 정의합니다. Arrays.sort(arr); int max =..
[Java/알고리즘] 피보나치 수열(Fibonacci numbers) : 경우의 수
·
Java/알고리즘 & 자료구조
해당 글에서는 피보나치의 수열에 이해하고 이를 이용하여 경우의 수를 계산하는 활용방법에 대해서 확인해 봅니다. 1) 피보나치 수열(Fibonacci numbers)💡 피보나치 수열(Fibonacci numbers) 이란? - ‘이전 두 항의 합이 다음 항이 되는 수열’을 의미합니다. - 즉, 첫째 항과 둘째 항이 1이고 이후 모든 항은 모든 항은 바로 앞 두항의 합으로 이루어지는 수열을 의미합니다. - 피보나치 수열의 예로는 [1, 1, 2, 3, 5, 8, 13, 21, 34,...]과 같은 형태로 구성이 됩니다. 1. 피보나치 수열 계산식💡 피보나치 수열의 연산식 F(N) = F(N-1) + F(N-2)입니다. F(0) = 0, F(1) = 1 일 때 F(n) = F(n-1) + F(n-2) (n ≥..
[Java/Short] 최대공약수, 최소공배수 구하는 방법 : 두 수 또는 N개의 수
·
Java/Short 개발
해당 글에서는 최대공약수와 최소공배수를 구하는 방법에 대해서 짧게 이해하는 방법에 대해서 공유합니다. 💡 해당 글을 이해하기 전에 상세하게 이해하고 싶다하시면 아래의 글이 큰 도움이 됩니다. [Java/알고리즘] 유클리드 호제법 : 최대공약수, 최소공배수 해당 글에서는 최대공약수, 최소공배수에 대해서 이해하고 두 개의 수가 주어질 때 구하는 방법과 N개의 수가 주어질 때 최대공약수, 최소공배수를 구하는 방법에 대해서 공유합니다. 1) 유클리 adjh54.tistory.com 1) 두수의 최대공약수, 최소공배수 구현방법 1. 최대공약수(GCD) 구현 💡 유클리드 호제법 이용하여서 “최대공약수(GCD)”를 구하는 방식입니다. 💡 이 방식은 큰 수를 작은 수로 나눈 나머지를 반복적으로 취하여 나머지가 0이 될..