본문 바로가기

전체 글

(92)
[Algorithm 기초연습] 백준 2750 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net //버전01 import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); int[] arr = new int[cnt]; for(int i = 0; i < cnt; i++){ arr[i] = sc.nextInt(); }..
[Data Structure 기초] Hashmap Hashmap(해쉬맵) - Map 인터페이스를 상속받아 만들어진 클래스로 Map의 특성을 그대로 갖고있다. - Map은 Key & Value 한 쌍으로 구성된 Entry 객체를 저장하는 자료구조이다. - 키와 값은 모두 객체이다. 값은 중복 저장될 수 있지만 키는 중복 저장될 수 없다. - 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치된다. - 실제 데이터를 저장시킬 때는 Node 타입의 배열에 저장된다. HashMap에 선언된 Node 타입 변수 및 클래스이다. Hashmap 시간복잡도 접근, 탐색 , 추가 , 삭제 : O(1) 연산 put(K key, V value) key와 value를 저장 remove(Object key) key와 일치하는 기존 데이..
[Data Structure 기초] Array Array(어레이) - 동일한 타임의 연관 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료 구조, 선형 자료구조 - 처음 생성할 때 지정한 자료형만 넣을 수 있다 - 배열의 길이는 고정적이고 먼저 할당해줘야 한다. 따라서 메모리 사용에 효율적이다. Stack 시간복잡도 접근, 탐색 : O(1) 추가 1. 추가하려는 데이터가 맨 뒤가 아니라면, 추가되는 데이터 위치 이후에 있는 모든 데이터들을 한 칸씩 미뤄야 하므로 O(n)의 시간복잡도를 가진다. 2. 추가하려는 데이터의 위치가 맨 뒤이고 배열에 공간이 남아있다면, O(1)의 시간복잡도를 가진다. 삭제 1. 삭제하려는 데이터의 위치가 맨 뒤가 아니라면, O(n)의 시간복잡도를 가진다. 2. 삭제하려는 데이터의 위치가 맨 뒤이..