일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 99클럽 #코딩테스트준비 #개발자취업 #항해99 #til
- 가상컴퓨팅
- Algorithm
- Java
- jsp
- 코테
- 크루스칼
- spring
- DB
- dbms
- 암호학
- BFS
- JPA
- javascript
- 알고리즘
- 공개키 암호화
- Queue
- 자료구조
- 코딩테스트
- mybatis
- 자바의정석
- js
- sql
- 항해99
- 99클럽
- til
- generic class
- 코딩테스트준비
- python
- 개발자취업
- Today
- Total
목록전체 글 (136)
PLOD

문제 상황도시들이 도로로 연결되어 있고, 매 도로에서 퍼레이드가 열릴 수 있다. 퍼레이드가 열리면 해당 도로를 사용할 수 없게 되는데, 이 때 최단 경로가 영향을 받는 정점쌍(s, t)의 개수를 각 도로별로 구하는 문제다.단순히 보면, 도로 하나씩 막고 다익스트라를 돌리면 될 것 같지만, 그렇게 하면 시간 초과가 발생할 수 있다.어떤 시도를 했는지첫 시도: 각 도로를 하나씩 제거하고 다익스트라를 수행한 뒤, 원래의 최단 경로보다 멀어진 정점들을 확인해 카운트하는 브루트포스 방식으로 구현했다.성공은 했지만 비효율적: Python에서 다익스트라를 M번 반복하는 방식은 입력 수가 많아질수록 매우 느려졌다.작성 코드# https://www.acmicpc.net/problem/16118import sys, hea..

공부한 내용 본인의 언어로 정리하기오늘은 백준 16118번 달빛 여우 문제를 풀며, 상태를 갖는 다익스트라 알고리즘을 공부했다.기본적인 다익스트라 알고리즘은 하나의 최단 거리만을 저장하지만, 이 문제에서 늑대는 이동 시 두 가지 속도 상태(빠름, 느림)를 반복하므로 각 노드에 대해 두 개의 거리 정보를 저장해야 한다.핵심은 다음과 같다:여우는 평범한 다익스트라를 사용한다.늑대는 "빠름 → 느림 → 빠름…"의 패턴을 따르므로, 각 상태에 따라 비용이 다르다.빠를 때는 거리의 절반(weight // 2)느릴 때는 거리의 두 배(weight * 2)늑대의 다익스트라는 distance[node][0 or 1] 구조를 통해 상태 전환을 관리하며 진행된다.또한, 정수 연산을 위해 모든 간선 거리를 2배 해주는 트릭..

Github 연동 github에 연동하였습니다. VCS - share Project on GitHub를 통해 자신이 가지고 있는 Github에 추가 하실 수 있습니다.MySQL 연동 -- 사용할 DB 선택USE test_db;-- 기존 사용자가 있는지 확인SELECT User, Host FROM mysql.user WHERE User = 'test_db_user';-- 있다면 삭제 후 다시 생성DROP USER 'test_db_user'@'localhost';FLUSH PRIVILEGES;CREATE USER 'test_db_user'@'localhost' IDENTIFIED BY '0000';-- board_table 생성create table board_table ( id bigint primary ..

JavaScript에서 DOM 요소를 선택할 때, querySelector와 getElementBy 계열 메서드는 가장 흔히 사용되는 선택 방법입니다. 두 가지 방법 모두 DOM 요소를 선택하는 데 사용되지만, 사용법과 특징, 차이점이 있습니다.1. querySelectorquerySelector는 CSS 선택자를 사용하여 DOM 요소를 선택하는 메서드입니다. querySelector는 보통 복잡한 선택자가 필요할 때와 첫 번째 일치 요소만 선택하면 충분할 때 그리고 코드의 유연성과 가독성을 중시할 때 사용합니다.document.querySelector(selector);// id 선택const elementById = document.querySelector("#myId");// 클래스 선택const ..

JS에서 동적으로 수정하고 삭제할 때 Javascript의 표준 API와 JQuery를 사용하여 구현할 수 있다. .append(): 요소 내부의 뒤에서부터 내용을 채운다. 안녕하세요.prepend(): 요소 내부의 앞에서부터 내용을 채운다. 안녕하세요.remove(): 요소 자체를 지운다. 그래서 그 뒤로 jquery로 읽어낼 수 없다. 안녕하세요.empty(): 요소 내부를 비운다. 보통 append나 prepend 하기 전에 사용 안녕하세요.html(): 요소 내부를 비우고 태그를 실행한 내용을 채운다. 또는 태그 포함한 채로 내용을 가져올 수 있다..text(): 요소 내부를 비우고 태그 포함 있는 그대로 내용을 채운다. 또는 태그를 제외한 내용만 가져온다. removeChild() : ..