일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Union Find
- DP
- 트러블슈팅
- 백준
- 다익스트라
- Spring
- 코테
- SSAFY
- JPA
- 코드트리
- 싸피
- database
- 그리디
- 부분수열의합2
- 그래프
- 완전탐색
- 코딩테스트
- Java
- SWEA
- 자바
- 다시보기
- JUnit
- 코딩테스트실력진단
- BFS
- 기본유형
- 유니온파인드
- 알고리즘기본개념
- 완탐
- DFS
- 알고리즘
- Today
- Total
목록전체 글 (159)
HwangHub
상황은 이랬다.싸피 내 데스크탑을 이용하고 있었다.데스크탑 자리는 주기적으로 변경된다.나는 지난번엔 분명 이 PC에서 git을 이용했다.사용하고 있는 git repo 플랫폼은 git lab이다.어느날 갑자기 remote repository에 git을 이용하여 clone과 push를 하는 작업을 하려고 하면 위와 같은 에러가 발생했다.심지어 내 개인 repo에 push하는 것도 실행되지 않았다...(이 지점에서 무언가 단단히 잘못됨을 느낌) project 경로는 copy & paste로 입력한 거라서 잘못되었을 수 없다고 판단했다.그렇다면 권한이 문제라는 가정을 한 채로, ssh key나 access token이 만료되었나 체크해봤다. 아쉽게도 만료되어서 발생하는 문제는 아니였다. (물..
보호되어 있는 글입니다.
오늘은 서로 중복된 원소가 없는 '분리 집합 or 서로소 집합(Disjoint Set)'에 대해 알아보고, 이를 이용하여 노드 간의 연결 여부를 판별하는 'Union Find' 알고리즘에 대해 알아보겠습니다. 이 두 가지는 그래프 알고리즘에서 중요하게 다루어지며, 특히 최소신장트리(Minimum Spanning Tree)를 구현하는 크루스칼(Kruskal) 알고리즘과 프림(Prim) 알고리즘에서 활용됩니다. 먼저, Disjoint Set은 각각의 원소가 하나의 집합을 이루며, 교집합이 존재하지 않는 집합을 말합니다. 이를 연결 리스트나 트리를 통해 표현할 수 있지만, 보통 트리 구조를 사용하여 구현합니다. 분리 집합을 표현하기 위해 각 노드가 바라보는 부모 노드를 나타내는 parent[] 배열을 사용합니..
로컬 DB 구축 앞으로 사용할 MySQL DBMS를 처음 설치하는 과정부터 로컬 DB 구축까지 기록해두려 한다. MySQL 삭제 기존에 이미 MySQL이 있는 사람은 아래 경로에 있는 모든 MySQL 관련 파일을 지우는 것으로 시작한다. C:\ProgramData\MySQL C:\Program Files\MySQL C:\Program Files (x86)\MySQL C:\Users\user_name\AppData\Roaming\MySQL 위 데이터 중 Program Data 경로는 기본값이 hidden path라서 uninstaller로는 위 경로의 파일이 지워지지 않는다. 위 경로상에 있는 모든 데이터를 manual delete한 뒤, Control Panel에서 mysql 관련 프로그램들을 모두 지워..
마지막 회고로부터 어느새 3주가 지났다...설날 연휴를 맞이하여ㅎㅎㅎ 그간 어떻게 살았는지 찬찬히 풀어보자.먼저, 싸피에서 어떤걸 배우고 있는지 풀자면스타트캠프(1,2주차) 이후에 정식 커리큘럼이 3주차부터 시작했다. 그렇게 3,4주차는 자바를 학습했고, 5,6주차엔 알고리즘을 학습중이다. 알고리즘은 이번에 5주 동안 진행되고 웹 개발 기본 학습을 잠시 배운 이후 다시 알고리즘을 2주간 한다. 즉, 싸피 11기에선 알고리즘만 7주 가량 학습한다. 역시 명성대로 알고리즘에 꽤나 진심인 싸피라는 걸 알 수 있었다. 아 그리고 신기한 거 하나 더, 우리 항공대 선배님중에 "랑이집사"라는 네임드 선배님이 계신데, 이 분이 싸피에서 삼성 SW 역량테스트 B형 강의를 하고 계셨다... 다른 한 분은 류호석 님이라는..
보호되어 있는 글입니다.
메인 출처 : (도서) MySQL로 배우는 데이터베이스 개론과 실습 참고 링크 : medium.com 데이터베이스는 많은 종류가 있지만, 우리는 MySQL을 기준으로 관계형 데이터베이스를 학습하고 있으므로 앞으로 서술되는 많은 내용은 관계형 데이터베이스에 대한 내용입니다. 데이터베이스란 데이터베이스는 조직에서 필요한 정보를 관리하기 위해 논리적으로 연관된 데이터를 구조적으로 통합해 둔 것입니다. 즉, 데이터베이스는 구조화된 데이터 덩어리를 의미하며, MySQL이나 Oracle DB와 같은 것들은 데이터베이스를 관리하는 데이터베이스 "관리 시스템"입니다. Database Management System(DBMS)는 데이터 관리를 아날로그식으로 장부에 적어서 관리하던 시대를 지나, 디지털화되면서 데이터를 잘..
기왕 배운 김에 정리합니다. 코테 빈출 유형은 아니라서, 제 블로그 아무도 안보긴 하겠지만... 혹시나 누군가 본다면 그냥 얘 이런것도 배웠구나 하고 넘어가시면 됩니다. 세그먼트 트리란 세그먼트(Segment)는 '부분'을 의미합니다. 세그먼트 트리는 말 그대로 각 노드에 전체 배열의 부분 정보를 저장시켜두고, 이를 완전 이진 트리로 구성하여 빠르게 해당 값을 탐색할 수 있도록 구현한 자료구조입니다. 각 노드에 담기는 데이터는 대표적으로 "구간합", 그리고 특정 구간에서의 "최대/최소값"이 있습니다. 이 데이터들을 완전 이진 트리로 관리한다는 게 장점인데, 이를 큰 범위의 배열로 관리하기 때문에 메모리를 많이 사용한다는 점을 감안해야 합니다. 공간을 내어주고 시간 활용도를 많이 높이는 전형적인 자료구조입..
자바 서블릿 자바 서블릿은 웹 통신 간 요청에 따른 응답을 동적으로 생성하는 자바 기반의 웹 어플리케이션 기술로, 흔히 "서블릿"이라 줄여 부릅니다. 여기서 말하는 웹 통신 간의 응답은 동적인 웹 페이지가 될 수도 있고, HTTP 응답 메시지일 수도 있죠. 서블릿이 하는 일을 좀 더 열거하여 말해보자면, 서블릿은 비즈니스 로직 실행을 제외하고 TCP/IP 대기 및 소켓 연결부터 HTTP 요청 메시지 헤더/바디 파싱, 그리고 HTTP 응답 메시지를 생성하여 소켓으로 전송해주는 것 까지 전부 수행하는 녀석입니다. (굉장히 많은 일을 하고 있네요) @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extend..
우리는 보통 TCP와 견주어 UDP를 많이 학습합니다. UDP의 대표적 특징으로는 아래 항목들이 있습니다. 비연결형 프로토콜이다. TCP와 달리 handshake를 하지 않아 속도'는' 빠르다. 하지만 패킷의 유실 관리나 순서 보장을 하지 않아 신뢰성 있는 통신이 불가능하다. 주로 DNS에 IP 주소 요청할 때, DHCP에 사용된다. 개인적으로는 오늘날에는 인터넷 속도도 빠르다보니 신뢰성 있는 통신의 가치가 더 높다고 생각하여 현대 사회에서 대부분의 통신은 TCP 기반으로 이루어질 것이라 생각하였습니다. 실제로 웹 통신에서는 HTTP 통신이 가장 많이 쓰이는데 이게 기본적으로 TCP 기반으로 알려져 있죠. 근데 다시 네트워크를 공부하다가 신기한 사실을 알아냈습니다. 충격적이게도 모든 HTTP가 TCP로 ..