본문 바로가기

전체 글

(196)
240620 Map Hashtablepackage java.util 해시 테이블의 구현체 HashMap과 유사하지만 동기화 지원 Hashing키를 해시 함수를 사용해 변환한 해시 값 -> 배열의 인덱스로 사용하여 값을 저장 Key -> [ Hash Function ] -> Hash Value Hash Table(Key, Value) 형태의 데이터를 저장하는 자료구조 1. null을 제외한 모든 object를 key, value로 사용할 수 있다.public synchronized V put(K key, V value) { // Make sure the value is not null if (value == null) { throw new NullPointerException();..
[BOJ] 31단계. 최단 경로 11753최단경로 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 다익스트라 알고리즘그래프의 한 정점(노드)에서 다른 정점까지의 최단 경로(Shortest Path)를 구하는 알고리즘이 과정에서 도착 정점 뿐만 아니라 모든 다른 정점까지 최단 경로로 방문하며 각 정점까지의 최단 경로를 모두 찾게 된다.방문하지 않은 노드 중에서 가장 비용이 적은 노드를 선택한다. (그리디 알고리즘)해당 노드로부터 갈 수 있는 노드들의 비용을 갱신한다. (다이나믹 프로그래밍)확인되지 않은 거리는 전부 초기값을 무한(INF) 으로 잡는다.import java.io.BufferedReader;import java.io.I..
[BOJ] 30단계. 그래프와 순회 2 101697숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다.만약, 수빈이의 위치가 X일 때걷는다면 1초 후에 X-1 또는 X+1로 이동순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { pr..
[BOJ] 30단계. 그래프와 순회 1 124479알고리즘 수업 - 깊이 우선 탐색 1N개의 정점, M개의 간선으로 구성된 무방향 그래프(undirected graph)인접 정점은 오름차순으로 방문정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { private static List> edges; private static int cnt; private static int[] visited; public static void main(String[] args) t..
데이터 직렬화(Serialization), 역직렬화(Deserialization) 데이터 직렬화(Data Serialization) 메모리의 데이터를 물리적으로 저장하거나 전송할 수 있는 형태로 변환하는 작업 (e.g. Bytes, XML, JSON, YAML...) 직렬화가 필요한 이유 데이터의 메모리 구조 값 형식 데이터(Value Type): Stack에 '값 그 자체'를 저장해서 바이트 형식으로 변환 가능 참조 형식 데이터(Reference Type): Stack에 '참조하는 데이터의 Heap 메모리 주소'를 저장하므로 이 값을 파일 저장하거나 네트워크 전송한들 읽어들이는 시점(프로그램 종료 이후, 외부 메모리 환경)에서는 의미 없는 데이터일 것이다. 따라서 물리적 저장/전송 이전에 직렬화를 통해 참조 시점에 존재하는 데이터를 값 형식으로 변환할 필요가 있다. 직렬화 데이터 형..
Vuetify 설치 및 개발 환경 구성 Vuetify 구글의 material design을 사용할 수 있게 만든 Vue.js를 위한 UI 프레임워크 환경: Windows, Intellij, Vue.js 3 Vue CLI 를 사용하여 vuetify 설치 vue project 를 생성한 후 vuetify 플러그인 설치 $ vue add vuetify ✔ Successfully installed plugin: vue-cli-plugin-vuetify ? Choose a preset: (Use arrow keys) Vuetify 2 - Configure Vue CLI (advanced) > Vuetify 2 - Vue CLI (recommended) Vuetify 2 - Prototype (rapid development) Vuetify 3 - Vi..
컴포넌트 간 데이터 전달 Vue.js 컴포넌트 간 데이터 전달 상위 컴포넌트 -> 하위 컴포넌트 하위 컴포넌트 ( ChildComponent.vue ) props에 상위 컴포넌트로부터 전달 받을 데이터의 속성을 정의한다. {{ this.data }} 상위 컴포넌트 ( ParentComponent.vue ) 하위 컴포넌트 tag 안에서 "v-bind:(props 이름)" 속성을 정의하여 데이터를 바인딩 한다. "v-bind" 키워드는 생략할 수 있다. 하위 컴포넌트 -> 상위 컴포넌트 하위 컴포넌트 ( ChildComponent.vue ) 하위 컴포넌트에서 이벤트가 발생했을 때 상위 컴포넌트에서 호출할 메서드명을 받을 속성을 this.$emit() 에 정의한다. this.$emit("속성명"[, 파라미터1, 파라미터2, ...])..
[TS] Todo List & Ts Sorter 개발 강의영상 https://www.youtube.com/watch?v=0UMmCbcZid0&list=PLOSNUO27qFbsI9bAIVitBcq-klZae5GMi TypeScript 안전하고 예측 가능한 코드 구현에 초점을 맞춘 자바스크립트의 상위 집합(Superset) 언어이다. 기존 자바스크립트에 타입 시스템을 적용한 것이다. 타입스크립트로 작성된 코드는 타입스크립트 컴파일러(tsc)를 통해 자바스크립트로 변환된다. 타입 시스템 외에도 Decorators와 같은 다양한 기능을 제공한다. 타입스크립트는 자바스크립트 타입 체계에 정적 타입(static typed)를 적용한다. 자바스크립트는 동적 타입 체계(dynamic typed)의 언어로 변수에 타입을 지정하지 않는다. 인터프리터를 이용한 라인 단위의 변..