본문 바로가기
  • soobinhand의 기술 블로그
728x90

전체 글119

[데이터베이스] 관계형 데이터베이스 관계형 데이터베이스 관계형 데이터베이스는 테이블의 모임으로 구성되어 있습니다. 테이블은 고유한 이름을 가지고 있습니다. Table = Relation Column = Attribute Row = Tuple Attribute 속성은 데이터 타입이 명확하게 정해져야 합니다. 또 더 이상 쪼갤 수 없는 원자성도 갖고 있습니다. null 값 사용이 가능합니다. Relation Schema instructor (ID, name, dept_name, salary) instructor은 릴레이션 이름, 괄호 안은 속성들입니다. 2021. 10. 28.
[자료구조] Graph 정의 노드와 그 노드를 연결하는 간선을 하나로 모아 놓은 자료구조입니다. 노드는 보통 vertex로 v, 간선은 보통 edge로 e를 많이 사용합니다. 특징 방향 그래프와 무방향 그래프 모두 존재합니다. 사이클 가능, 자체 간선도 가능, 순환 그래프, 비순환 그래프 모두 존재합니다. 딱히 루트 노드의 개념은 없습니다. 물론 부모-자식 개념도 희미합니다. 순회는 DFS,BFS를 사용합니다. 그래프는 네트워크 모델입니다. 인접 리스트 혹은 인접 행렬로 구현합니다. 2021. 10. 27.
[자료구조] Undirected Graph - 2차원 배열 Undirected Graph - 2차원 배열 그래프라 하면 꼭지점(vertex)와 간선(edge)가 존재합니다. 가중치가 있을 수도 있고, 또는 방향성이 존재할 수도 있습니다. 하지만 그 둘다 없는 방향성도 가중치도 없는 그래프를 2차원 배열로 만들어보고자 합니다. 만약 그래프가 이렇다면, 마치 직사각형 같다고 생각해봅시다. 여기서 꼭지점은 1, 2, 3, 4 이고 간선은 1-2, 2-4, 3-4, 1-3입니다. 결국 꼭지점의 갯수는 4개이고 간선의 갯수도 4개입니다. 이걸 코드로 표현한다면 아래와 같습니다. public static void main(String[] args){ Scanner sc = new Scanner(System.in); int vertex = 4; // 꼭지점 int edge .. 2021. 10. 27.
[자료구조] Linked List 정의 연결 리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 자료구조입니다. 홈파티나 생일파티를 가면 뒤에 저런 배경을 해놓고 사진을 찍는 경우가 많습니다. 보통 벽에다가 걸어놓습니다. 저게 바로 링크드 리스트 즉 연결리스트입니다. '생'이라는 데이터를 담고 있는 종이는 '일'이라는 데이터를 가리키고 있습니다. 즉 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당합니다. 특징 연결리스트는 중간에 데이터를 추가하거나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지지 않습니다. 그래서 array보다 데이터의 추가나 삭제가 용이합니다. '일'을 없앤다면 '생'과 '축'이 연결되는 형식입니다. 하지만 인덱스가 없기때문에 특정 요소에 .. 2021. 10. 26.
[자료구조] Array 정의 연관된 데이터를 하나의 변수에 그룹화해서 순차적으로 관리하는 자료구조입니다. 배열을 이용하면 하나의 변수에 여러 정보를 담을 수 있습니다. 특징 배열의 길이는 고정되어 있습니다. 연속된 자료구조입니다. 배열에 저장되는 값은 모두 같은 데이터의 유형이어야 합니다. 배열의 값을 요소, 순서를 인덱스라고 합니다. 선언 및 생성 int[] arr = new int[10]; String[] strarr = new String[10]; char[] chararr = new char[10]; 배열의 길이 : 10 배열의 인덱스 : 0 ~ 9 모든 배열의 첫 번째 인덱스는 0입니다. 각각의 배열엔 해당 데이터 타입만 들어갈 수 있습니다. 값을 집어 넣어 봅시다. 예제 for(int i = 0; i < arr.le.. 2021. 10. 25.
[JAVA] format 함수 format 함수 이 함수는 문자열의 형식을 설정하는 메서드입니다. String str = "abc"; str = String.format("%5s",str); 이 코드의 결과는 " abc" 로, abc 앞에 공백이 붙습니다. 정수는 앞에 0이 붙게됩니다. 여러 형태가 다 가능합니다. 우선 필수값은 %와 표현할 데이터 타입입니다. "%5d" 라고 한다면 10진수 5자리로 설정하게 되는 것입니다. % 뒤에 나오는 것에 따라서 그 포맷의 형태가 바뀌게 됩니다. 하지만 "%5d"처럼 5말고 변수를 사용하고 싶다면 아래 코드처럼 하면 됩니다. int n = 5; str = String.format("%" + n + "s", str); "%5s" 와 위 포맷 형식은 같은 의미입니다. 2021. 10. 24.
[JAVA] toBinaryString 함수 toBinaryString 함수 물론 이 함수를 사용하기 전에 직접 2진수를 구현해보는 것이 더 좋은 학습방법이라고 생각합니다. 이 함수는 어떤 숫자를 2진수 문자열로 바꿔주는 함수입니다. String str = Integer.toBinaryString(8); 이런 형태로 사용하게 됩니다. 주의하셔야 할 부분은 String이라는 점입니다. 숫자가 아니라는 점을 명심해야 합니다. 또한 toBinaryString 함수로 비트 연산자를 사용할 수 있습니다. String temp = Integer.toBinaryString(9 | 30); 우선 9는 01001, 30은 11110입니다. 이 두 2진수를 비트 연산자를 사용해서 무언가 값을 구하고 싶다면 위의 코드처럼 사용하면 됩니다. 물론 &도 가능합니다. 위의.. 2021. 10. 24.
[git] git에 대해 알아봅시다! 정의 git은 컴퓨터 파일의 변경사항을 추적하고 다수의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다. 이외에도 본인의 코드 저장소, 블로그로도 활용을 하기도 합니다. 사용 이유 우선 소프트웨어 개발에서 소스 코드 관리에 주로 사용됩니다. 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용되기도 합니다. 특징 분선 버전 관리 시스템으로서 수행 속도가 빠릅니다. 데이터 무결성과 분산, 비선형 워크플로를 지원합니다. 2021. 10. 21.
Who am I? DGB Life IT Developer 2022-06 ~ FullTime DGB Life IT Developer 2022-03 ~ 2022-06 Intern Sangmyung Unversity, Department of Library Information and Computer Science ~2022-08 Bachelor AYC (Developer Union Club) 2020-01 ~ 2020-12 President SK LOOKIE (SK) 2021-03 ~ 2022-02 Member 깃허브 https://github.com/Soobinhand 포트폴리오 페이지 https://soobinhands.netlify.app/ 이메일 chelsea9528@naver.com 2021. 10. 19.
[자료구조] 2차원 배열을 1차원 배열로 만드는 방법 흠 생각해봅시다. public class Main { public static void main(String[] args) throws Exception { ArrayList arrayList = new ArrayList(); int[][] a = { {1,2,3}, {10,9,4} }; int[] b = new int[a.length*a[0].length];//2 * 3 for(int i =0; i 2021. 10. 19.
728x90