[Java/Short] 약수를 구하는 다양한 방법 : int to divisor
·
Java/Short 개발
해당 글에서는 Java에서 약수를 구하는 다양한 방법에 대해서 확인해 봅니다. 1) 약수 💡 약수(Divisor)란? - 어떤 수를 나누어 떨어지게 하는 수를 그 수의 약수라고 합니다. - 예를 들어 10의 약수는 1, 2, 5, 10입니다. 2) 약수 구현 방법 1. 반복문을 이용하여 약수 찾기 💡 해당 방법은 ‘반복문을 순회’하면서 조건에 맞는 값의 약수를 찾는 방법입니다. 1. 파라미터로 전달받은 숫자(num)를 기반으로 1부터 해당 숫자를 반복문으로 순회합니다. 2. 순회하면서 전달받은 숫자(num)를 순차적인 값으로 나누었을 때 0인 경우 약수를 찾아서 리스트로 반환합니다. /** * 반복문(for)를 이용한 약수 리스트 반환 방법 * * @param {int} num * @return {Lis..
[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] 배열/리스트의 요소를 역순으로 재구성 방법 : forward to reverse
·
Java/Short 개발
해당 글에서는 배열/리스트를 역순으로 재구성하는 방법에 대해서 알아봅니다. 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/API] HashMap Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 Map 인터페이스를 구현한 클래스인 HashMap의 메서드의 API에 대해서 확인합니다. 1) Map 💡 Map 이란? - key와 value를 저장하는 자료구조이며 ‘인터페이스’를 의미합니다.key는 중복될 수 없고, value는 중복될 수 있습니다. 💡HashMap이란? - Map 인터페이스를 구현한 클래스 중 하나로 ‘구현체’를 의미합니다. - Hashing 기법을 사용하여 key와 value를 저장하고, 검색 속도가 빠르다는 장점이 있습니다. - 또한, null key와 null value를 모두 허용한다는 점도 HashMap의 장점 중 하나이다. [ 더 알아보기 ] 💡 해싱 기법(Hashing) - 데이터를 고정된 길이의 값으로 변환하는 알고리즘입니다..
[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/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/Short] 최대공약수, 최소공배수 구하는 방법 : 두 수 또는 N개의 수
·
Java/Short 개발
해당 글에서는 최대공약수와 최소공배수를 구하는 방법에 대해서 짧게 이해하는 방법에 대해서 공유합니다. 💡 해당 글을 이해하기 전에 상세하게 이해하고 싶다하시면 아래의 글이 큰 도움이 됩니다. [Java/알고리즘] 유클리드 호제법 : 최대공약수, 최소공배수 해당 글에서는 최대공약수, 최소공배수에 대해서 이해하고 두 개의 수가 주어질 때 구하는 방법과 N개의 수가 주어질 때 최대공약수, 최소공배수를 구하는 방법에 대해서 공유합니다. 1) 유클리 adjh54.tistory.com 1) 두수의 최대공약수, 최소공배수 구현방법 1. 최대공약수(GCD) 구현 💡 유클리드 호제법 이용하여서 “최대공약수(GCD)”를 구하는 방식입니다. 💡 이 방식은 큰 수를 작은 수로 나눈 나머지를 반복적으로 취하여 나머지가 0이 될..
[Java/알고리즘] 유클리드 호제법(Euclidean Algorithm) : 최대공약수, 최소공배수
·
Java/알고리즘 & 자료구조
해당 글에서는 유클리드 호제법에 대해 이해하고 최대공약수와 최소공배수에서 이를 활용할 수 있는 방법에 대해 공유합니다. 1) 유클리드 호제법(Euclidean Algorithm)💡 유클리드 호제법/알고리즘(Euclidean Algorithm) - 두 수의 '최대공약수(GCD)'를 찾기 위한 알고리즘을 의미합니다. - 큰 수를 작은 수로 나누어 떨어지게 한 뒤, 수를 반복적으로 수행하여 나머지 0이 될때까지 작동하는 방법을 의미합니다.이때 작은 수가 최대공약수입니다. [ 더 알아보기 ] 💡 호제법이란? - 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 의미합니다.유클리드 호제법 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclid..