전체 글 (69) 썸네일형 리스트형 플로이드 와샬 알고리즘 최단 경로를 구하는 알고리즘이다. 다익스트라 알고리즘과 비교하면 좋은데, 다익스트라 알고리즘의 경우에는 하나의 정점에서 출발했을 때, 다른 모든 정점으로의 최단 경로를 구하는 알고리즘이다. 하지만, 만약 모든 정점에서 모든 정점으로의 최단 경로를 구한다면, 즉, 1 : N 이 아니라 N : N 의 최단 경로를 구할 때는 플로이드 와샬 알고리즘을 쓴다는 것이다. 다익스트라 알고리즘은 가장 적은 비용을 하나씩 선택해야 했다면, 플로이드 와샬 알고리즘은 ' 거쳐가는 정점 ' 을 기준으로 알고리즘을 수행한다. 기본적으로 다이나믹 프로그래밍에 의거한다. 시간 복잡도는 O(V^3)이다. 즉, 특별한 경우가 아닌 이상 쓸일은 잘 없겠다. 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 이전 1 2 3 4 5 6 7 ··· 9 다음