전체 글(101)
-
[BOJ] 2610. 회의 준비
https://www.acmicpc.net/problem/2610 접근 방법 처음에는 문제 풀이 방법과 질문에 Floyd에 관한 내용 밖에 없어서 Floyd로 사용해서 풀려고 노력했었지만 BFS로 푸는 게 더 직관적이었기 때문에 BFS로 풀게 되었다. 먼저 그룹을 연관되어있는 사람들 끼리 나눈 후 그룹별로 의사전달시간 중 최댓값이 최소가 되도록 대표가 되도록 코드를 짰다. Need Know BFS 전체 코드 ( Java ) import java.io.*; import java.util.*; class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = ..
2020.10.04 -
[BOJ] 1738. 골목길
https://www.acmicpc.net/problem/1738 접근 방법 몇 번을 트라이 한 지 모르겠ㄷㅏ... 벨만 포드라 해서 단순히 음수 cycle만 구현해 주면 될 줄 알았지만 경로를 직접 뽑아줘야했기 때문에 나에겐 더 어려웠다. 나의 개념으로는 벨만포드로 cycle구하기 + 최단 거리 밖에 구하지 못했었기 때문에 더 어렵게 다가왔었다. 경로를 직접 구하기 위한 핵심은 previous 배열이다. 값이 초기화 되는 부분의 전의 노드가 무엇인지 계속 추적 하는 것이다. 자세한 것은 코드를 보면서 이해 하도록 하자! +이렇게 하면 왜 안되는 건지 모르겠는데 아시는 분 있으면 알려주세요 ㅠㅠ for(int z=1; z
2020.10.01 -
[BOJ] 2458. 키 순서
https://www.acmicpc.net/problem/2252 접근 방법 플로이드 와샬을 사용했다. 간선을 추가했을 때 이것이 키 비교가 가능한지 판단만 하면된다. 그리고 마지막에 순서를 뒤짚었을 때 가능한지도 확인 하면 된다. Need Know 플로이드와샬 전체 코드 ( Java ) import java.io.*; import java.util.StringTokenizer; class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static ..
2020.10.01 -
[그래프 탐색] 플로이드 와샬
언제 쓰이는가? 하나의 정점에서 다른 하나의 정점까지의 최단 경로를 구하는 문제 하나의 정점에서 다른 모든 정점까지의 최단 경로를 구하는 문제 하나의 목적지로 가는 모든 최단 경로를 구하는 문제 모든 최단 경로를 구하는 문제 플로이드 와샬이란? 다익스트라 알고리즘과 비슷하지만 출발 정점이 따로 필요 없다는 점 음의 가중치를 가지는 간선을 쓸 수 있는 점 모든 정점에 대한 경로를 계산하기 때문에 거리를 저장하는 자료구조는 2차 배열이 된다. 핵심 아이디어 → '거쳐가는 정점' 을 기준으로 최단 거리를 구한다. 플로이드 와샬 알고리즘 동작 원리 거리를 저장하는 테이블 Distance A B C D E A 0 INF INF INF 7 B 4 0 INF INF INF C 3 8 0 INF -4 D INF 3 -..
2020.09.20 -
[Module] Swagger
쓰게 된 이유? 전에 했었던 프로젝트에서 Spring으로 Swagger를 적용한 적이 있다. Swagger를 사용했을 때 API규약에 따라서 명세서(?) 같은 느낌이 들어 좋아 현재 회사에서 진행하고 있는 프로젝트 또한 Swagger를 사용해보고자 한다. Swagger란? 개발자가 REST API 서비스를 설계, 빌드, 문서화할 수 있도록 하는 프로젝트이다. Swagger는 다음과 같은 경우에 유용하게 사용된다. 다른 개발팀과 협업을 진행할 경우 이미 구축되어있는 프로젝트에 대한 유지보수를 진행할 경우 백엔드의 API를 호출하는 프론트엔드 프로그램을 제작할 경우 Swagger - Nodejs npm install swagger-ui-express swagger-jsdoc 사용하는 방법. /public/s..
2020.09.18 -
[Syntax] Async & await
Async & Await Promise 와 Callback 와 마찬가지로 자바스크립트 비동기 처리에 사용되는 객체이다. Async & Await VS Promise getDatas() 는 Promise 객체이다. Promise const datas= () => { getDatas() .then(datas => { console.log(users); return datas; }) .catch(error => { console.log(error); }); } Async & Await const datas = async() => { console.log(await getDatas()); return await getDatas(); } 둘의 차이점은 명확하다. 코드의 간결함이 남다르다. 자바와 같이 동기적 코드..
2020.09.10