반응형

전체 글 226

[Java] Collection 정리 Set이란 HashSet & TreeSet & LinkedHashSet

Set 정의 : 중복되지 않는 데이터의 집합 => 수학적으로 집합과 동일하다. 특징 : 데이터가 중복되지 않는다. 순서가 보장될수도 있다. Set은 인덱스로 관리하지 않는다고 했다. 그러므로 데이터를 검색하기 위해서는 iterator() 메서드로 반복자를 생성하고 데이터를 가져와야 한다. 시간복잡도를 먼저 알아보자 추가적으로 HashSet이 TreeSet이나 LinkedHashSet보다 성능이 더 빠르고, 메모리를 적게 사용한다. 1). HashSet 정의 : 중복이 안되고 순서가 없는 형태의 Set 특징 : 빠른 접근속도 중복 허용하지 않음 순서 보장하지 않음 => 순차적으로 정렬해준다고 100% 믿으면 안됀다. 예제 : public static void main(String[] args) { Set ..

[Java] Collection 정리 Map이란 HashMap & TreeMap

너무 기본적인 것들에 대해 정리가 되어있지 않아 초심으로 돌아가보려고 한다. 왜 사용하는지 다시한번 머리 속에 담아두자..! Map은 Collection Interface를 상속받고 있지않지만 편의상 Collection으로 분류한다고 한다. Map 정의 : 키(Key) , 값(Value) 을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스들을 구현하는 데 사용 되는 인터페이스 특징 : 요소의 저장 순서가 별도로 존재하지 않는다. Key : 중복 허용하지 않음 Value : 중복 허용 1). HashMap 특징 : 내부적으로 Entry[] Entry의 배열로 이루어 져있다. 해당 Array에 Index는 내부 해쉬 함수를 통해 계산된다. 내부 Hash값에 따라서 키 순서가 정해지므로 순서의 규칙이 없다. 그래..

[Java] Collection 정리 List란 ArrayList & LinkedList

너무 기본적인 것들에 대해 정리가 되어있지 않아 초심으로 돌아가보려고 한다. 왜 사용하는지 다시한번 머리 속에 담아두자..! 배열 : 연속된 메모리의 집합 1). List 정의 : 데이터를 순차적으로 나열해 놓은 집합체. 장점 : 동적으로 사이즈가 자유롭게 변할 수 있다. 단점 : 배열과 비교했을때 배열 : 직접 엑세스로 (값을 넣거나 가져올때) 빠르다. -> 배열의 값으로 바로 접근가능하다. List : 배열과 비교했을때 순차적 엑세스로 (값을 넣거나 가져올때) 조금 느리다. -> 메모리의 0번째 객체 주소부터 1,2,3... 로 읽어서 접근하는 방식이기 때문(순차적 엑세스) 종류 : ArrayList : 정의 : 크기를 동적으로 늘릴수있는 배열 객체 / 제네릭을 사용하여 타입을 지정해줄 수있다. 장점..

[Java-Algorithm] HackerRank Java - Array Manipulation -누적합풀이

1).문제 : www.hackerrank.com/challenges/crush Array Manipulation | HackerRank Perform m operations on an array and print the maximum of the values. www.hackerrank.com 주어진 배열에 시작점과 끝점을 제시하고, 시작점~끝점에 더해질 k 값이 주어진다. 시작점~끝점에 각각 K를 더하고 난뒤 최종 배열에서 가장 큰 값을 추출해내는 문제. 2). 풀이 : 2중 for문을 사용해 아주 쉽게 해결 할 수 있다고 생각했다. 하지만 Timeout! 어떻게 풀어야할지 한참 ...아주 한참 머리를 괴롭혔다... 어떻게 하면 for문을 한번만 돌수 있을까......!!!!!!!!!!!!!!!!!!!..

[Java-Algorithm] HackerRank Java - Mark and Toys 풀이

1).문제 : www.hackerrank.com/challenges/mark-and-toys 2).풀이 : 오름차순으로 정렬하면서 더하기 정렬 다하고 더하지 말고 정렬 하면서 더하자 import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*; public class Solution { // Complete the maximumToys function below. static int maximumToys(int[] prices, int k) { int sum = 0; int count ..

[Java-Algorithm] HackerRank Java Minimum Swaps 2 풀이

1). 문제 : www.hackerrank.com/challenges/minimum-swaps-2 Minimum Swaps 2 | HackerRank Return the minimum number of swaps to sort the given array. www.hackerrank.com 2). 풀이 : import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*; public class Solution { //몇번의 스왑으로 순서대로 할수있는지 횟수 출력 // Complete the..

반응형