본문 바로가기

전체 글

(68)
Fisher's Linear Discriminant Analysis Fisher's linear discriminant 는 데이터를 여러 변수들의 선형결합으로 표현하였을 때, 서로 다른 그룹을 잘 구분할 수 있게 해 주는 coefficient 를 찾는 방법이다. d차원 상의 데이터 집합을 선형 결합으로 표현하였을 때, 속한 클래스의 구분이 가장 용이한 1차원 공간으로 프로젝션하는 방법으로 데이터를 분석하는 기법이다. 1차원으로 프로젝션해야 하는 특성상 복잡하게 분산 된 데이터에 대한 구분이 용이하지 않은 단점이 있다.
BOJ 14503번 로봇청소기 ( 구현 , DFS ) JAVA BOJ 14503번 로봇청소기 ( 구현 , DFS ) JAVA 풀이 로봇 청소기가 청소한 곳을 못지나간다는 것으로 착각해서 해결하는데 시간이 좀 많이 들었던 것 같다. 지문을 읽는 것이 역시 젤 어렵다.. 앞으로는 문제를 잘 읽어보잣!😀 링크 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 소스 코드 package boj; import java.util.Scanner; public class Boj14503 { static int n, m; ..
Index ( 인덱스 ) RDBMS에서 검색 속도를 높이기 위한 기술 데이터베이스에서 조회 및 검색을 더 빠르게 할 수 있는 방법/기술 혹은 이에 쓰이는 자료구조 자체를 의미하기도 한다. 자주 조회되는 Column 에 대한 Index Table 을 따로 만들어 SELECT 문이 들어왔을 때, Index 테이블에 있는 값들로 결과 값을 조회해 온다. 그래서 Index를 잘 사용한다면 "검색" 연산을 실행했을 때, 성능을 올릴 수 있게 된다. 테이블의 칼럼을 색인화한다. ( 마치 두꺼운 책의 목차와 같다고 생각하면 편하다. ) 데이터베이스 안의 레코드를 처음부터 풀스캔하지 않고, B+ Tree로 구성된 구조에서 Index 파일 검색으로 속도를 향상시키는 기술 B+ 트리 알고리즘 리프 노드에는 실제 데이터가 저장된다. 리프노드까지의 ..
프로그래머스 광고 삽입 KAKAO BLIND 2021 ( 누적 합 ) JAVA 프로그래머스 광고 삽입 KAKAO BLIND 2021 ( 누적 합 ) JAVA 풀이 풀이를 생각해내는 게 쉽지 않았다. 결국에는 다른 사람의 풀이를 참고하고 누적합 문제라는 것을 인지할 수 있었다. 앞으로 비슷한 유형은 누적합으로 풀이를 시도해보면 좋을 것 같다. programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 소스 코드 package kakao.bli..
Transaction ( 트랜잭션 ) 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 상태 변화란 SQL질의어를 통해 DB에 접근하는 것을 말한다. ( SELECT, INSERT, DELETE, UPDATE ) 작업 단위란 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것이다. 작업단위를 정의하는 것. 더보기 예시) 사용자 A가 사용자 B에게 만원을 송금한다. 이때 DB 작업 1. 사용자 A의 계좌에서 만원을 차감한다 : UPDATE 문을 사용해 사용자 A의 잔고를 변경 2. 사용자 B의 계좌에 만원을 추가한다 : UPDATE 문을 사용해 사용자 B의 잔고를 변경 현재 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문 → 이를 통틀어 하나의 트랜잭션이라고 한다. - 위 두 쿼리문 모두 성공적으로 완료되어야만 "하나..
SQL vs NoSQL SQL ( 관계형 DB ) SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있음. 관계형 데이터베이스에는 핵심적인 두 가지 특징이 있다. 1. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다. 2. 데이터는 관계를 통해 여러 테이블에 분산된다. 데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있다. 해당 구조는 필드의 이름과 데이터 유형으로 정의된다. 따라서, 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가가 가능한 것이 특징이다. 하나의 테이블에서 중복 없이 하나의 데이터만을 관리하기 때문에 다른 테이블에서 부정확한 데이터를 다룰 위험이 없어지는 장점이 있다. ..
Join 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로, 이를 이용하여 데이터 검색에 활용한다. INNER JOIN 기준 테이블과 Join 테이블의 중복된 값을 보여준다. SELECT A.NAME, B.AGE FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP LEFT OUTER JOIN 기준 테이블값과 조인테이블의 중복된 값을 보여준다. SELECT A.NAME, B.AGE FROM EX_TABLE A LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
Key 검색, 정렬 시에 Tuple을 구분할 수 있는 기준이 되는 Attribute. Candidate Key ( 후보키 ) Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. 2가지 조건을 만족한다. 1. 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있다. 2. 최소성 : 꼭 필요한 속성으로만 구성. Primary Key ( 기본키 ) 후보키 중 선택한 Main Key 특징으로는, Null값을 가질 수 없다는 것과 동일한 값이 중복될 수 없다는 특징이 있다. Alternate Key ( 대체키 ) 후보키 중 기본키를 제외한 나머지 키 Super Key ( 슈퍼키 ) 유일성은 만족하지만, 최소성은 만족하지 못하는 키 Foreign Key ( 외래키 ) 다른 릴레이션의 기본키를 그대로..