[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이 될..
[Java/알고리즘] 유클리드 호제법(Euclidean Algorithm) : 최대공약수, 최소공배수
·
Java/알고리즘 & 자료구조
해당 글에서는 유클리드 호제법에 대해 이해하고 최대공약수와 최소공배수에서 이를 활용할 수 있는 방법에 대해 공유합니다. 1) 유클리드 호제법(Euclidean Algorithm)💡 유클리드 호제법/알고리즘(Euclidean Algorithm) - 두 수의 '최대공약수(GCD)'를 찾기 위한 알고리즘을 의미합니다. - 큰 수를 작은 수로 나누어 떨어지게 한 뒤, 수를 반복적으로 수행하여 나머지 0이 될때까지 작동하는 방법을 의미합니다.이때 작은 수가 최대공약수입니다. [ 더 알아보기 ] 💡 호제법이란? - 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 의미합니다.유클리드 호제법 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclid..
[Java] String 함수 이해하기 : format, join, valueOf, copyValueOf
·
Java/공통 모듈
해당 글에서는 java.lang에 속하는 String 함수에 대해서 이해를 돕기 위해 작성한 글입니다.1) String 함수 요약함수설명String.format()- 문자열을 “포맷팅”하기 위해서 사용되는 함수입니다.- 지정된 형식 문자열과 그에 따른 인수들을 입력받아, 지정된 형식으로 포맷팅된 문자열을 반환합니다.String.join()- 문자열 리스트를 “결합”하는 데 사용되는 함수입니다.- 지정된 구분자를 기준으로 입력받은 문자열 리스트를 결합한 결과를 반환합니다.String.valueOf()- 객체를 “문자열로 변환”하는 데 사용되는 함수입니다.- 입력값으로 숫자, 문자, 불리언, 문자열 및 기타 객체를 입력받을 수 있습니다.String.copyValueOf()- 문자열의 일부분을 복사하여 “새로..
[Java/Short] 배열/리스트 내의 최소값, 최대값 찾는 방법 : min, max
·
Java/Short 개발
해당 페이지에서는 정수 배열 혹은 리스트에서 최소값과 최대값을 찾는 방법에 대해 공유합니다.1) 배열에서 최소값, 최대값 찾고 값 반환받기 1. 반복문을 이용한 방법 : for, for ~ each문for문을 이용한 방법public class Main { public static void main(String[] args) { int[] numbers = {1, 5, 3, 9, 2}; int max = numbers[0]; int min = numbers[0]; for (int i = 1; i max) { max = numbers[i]; } if (numbers[i]   for~ea..
[Java/Short] 배열/리스트 중복제거 방법 : 전체, 인접한 요소 중복 제거
·
Java/Short 개발
해당 글에서는 배열/리스트에서 중복된 요소들을 제거하기 위한 방법으로 전체에서 중복요소를 제거하는 방법과 인접한 상태에서의 중복된 요소를 제거하는 방법에 대해서 공유합니다. 1) 배열/리스트 순서관계 없이 중복요소 제거 💡 배열/리스트 순서관계 없이 중복요소 제거 - 해당 방법은 배열/리스트에서 순서관계 없이 중복된 요소를 제거하고 하나로 재구성 하는 방법입니다. 1. 배열(Array)의 중복된 값 지우기 1.1. Stream의 중복된 값 지우는 방법 : distinct int[] arr = {1, 2, 3, 3, 4, 4, 5}; arr = Arrays.stream(arr).distinct().toArray(); // [1, 2, 3, 4, 5] int[] arr = {1, 1, 3, 3, 0, 1, ..
[Java/Short] 문자열 <-> Date 타입 간의 변환 방법 : + Date 연산
·
Java/Short 개발
해당 글에서는 String 타입을 Date 타입으로 변환하거나 Date 타입을 String 타입으로 변환하거나 Date 타입을 연산하는 방법에 대해서 확인해 봅니다. 1) SimpleDateFormat 💡 SimpleDateFormat 이란? - 날짜와 시간을 원하는 형태의 문자열로 변환하거나 문자열을 날짜와 시간으로 변환할 때 사용하는 클래스를 의미합니다. - 해당 클래스는 java.text 패키지 내에 포함되어 있습니다. SimpleDateFormat (Java SE 11 & JDK 11 ) Parses text from a string to produce a Date. The method attempts to parse text starting at the index given by pos. If ..
[Java/Short] 문자열 내의 문자 개수 구하는 방법 : count, charAt, forEach, replace
·
Java/Short 개발
해당 글에서는 문자열에서 특정 문자를 추출하여 문자 개수를 구하는 방법에 대해서 확인해 봅니다. 1) Stream을 이용한 방식: filter().count() 1. 해당 메서드 관련 문법 1. chars() 문법 💡 chars() 란 - CharSequence를 얻기 위하여 Stream을 반환하는 메서드를 의미합니다. 매개변수 데이터 타입 설명 void - 매개변수가 존재하지 않으며 결과 리턴타입으로 Stream 객체 값을 반환합니다. 2. filter() 문법 💡 filter() 란? - Collection 인터페이스를 확장한 List, Set 등의 컬렉션 타입에서 원하는 조건에 맞는 요소들만 걸러내는 기능을 제공하는 메서드를 의미합니다. 매개변수 데이터 타입 설명 Predicate Stream 요소..