[백준] 17387번: 선분 교차 2
📌 문제 https://www.acmicpc.net/problem/17387 📌 설명 CCW 알고리즘을 통해 해결했다. 네 점 A, B, C, D가 있고 선분 AB, 선분 CD의 교차 여부를 판단한다고 할 때, 선분 위의 두 점과 다른 선분의 나머지 한 점의 외적 값을 사용했다. 구체적으로 설명하자면 다음과 같다. ccw()는 세 점의 외적을...
📌 문제 https://www.acmicpc.net/problem/17387 📌 설명 CCW 알고리즘을 통해 해결했다. 네 점 A, B, C, D가 있고 선분 AB, 선분 CD의 교차 여부를 판단한다고 할 때, 선분 위의 두 점과 다른 선분의 나머지 한 점의 외적 값을 사용했다. 구체적으로 설명하자면 다음과 같다. ccw()는 세 점의 외적을...
📌 개요 JPQL 은 일반적으로 영속성 컨텍스트를 고려하지 않고 데이터베이스에 접근하여 작업을 수행한다. 영속성 컨텍스트와 어떠한 상호작용을 하는지는 JPQL이 어떤 쿼리인지에 따라 다르다. 📌 JPQL - SELECT 쿼리 만약 JPQL이 SELECT 쿼리였다면 실행하기 전 flush() 를 수행하여 데이터 일관성을 맞춘다. SELECT 쿼리...
📌 개요 백엔드 엔지니어라면 한 번 쯤 서비스를 배포한 경험이 있을 것이다. 배포에 필요한 AWS EC2와 RDS 등을 생성하기 위해 AWS 콘솔에 접속하여 관리하는 것은 정말 귀찮다. 리소스를 사용하지 않는다면 반드시 해제해야 과금이 발생하지 않는데, 자꾸 까먹어서 날린 돈만 얼마인지 모르겠다. 콘솔에 매번 접속해서 리소스를 관리하지 않고 AWS ...
📌 문제 https://www.acmicpc.net/problem/1103 📌 설명 전형적인 그래프 탐색 문제이지만, 사이클이 발생한 경우를 탐지해야 하므로 BFS 대신 DFS를 사용하는 것이 효율적이다. 그러나 단순히 DFS를 수행하며 동전이 움직일 수 있는 최대 횟수를 구하려고 하면 시간 초과가 발생하게 된다. 이미 방문한 지점인 경우, 추...
📌 문제 https://www.acmicpc.net/problem/10800 📌 설명 공이 다른 공을 사로잡을 수 있다. 사로잡기 위한 조건은 색이 다르거나, 크기가 더 작을때이다. 공에 대한 정보를 배열에 저장하고 브루트포스로 일일히 계산하게 되면 $O(N^2)$로 시간 초과가 발생하게 된다. 정렬과 누적 합 개념을 사용해야 한다. 공에...
📌 문제 https://www.acmicpc.net/problem/7453 📌 설명 이분 탐색을 통해 해결하였다. 주어진 네 배열을 두 배열 간 합을 통해 두 개의 배열로 축소시킨다. 정렬 후 이분탐색을 진행하면 된다. 주의해야 할 점은 가능한 답의 가짓수가 4000^4이라는 점이다. 따라서 long long 자료형을 사용해야 한다. 또한 중복...
📌 문제 https://www.acmicpc.net/problem/16566 📌 설명 철수가 내는 카드보다 민수가 내는 카드의 번호가 더 크도록 해야 한다. 즉, M개의 주어진 카드에서 철수가 낸 카드의 번호보다 큰 최소의 번호를 내야 한다. 이 부분에서 이분 탐색으로 해결해야 함을 알 수 있다. set을 통해 M개의 카드를 관리하고 upper...
📌 문제 https://www.acmicpc.net/problem/1509 📌 설명 처음부터 끝까지 문자열을 순회하면서 팰린드롬을 찾고, 계속하여 최솟값을 갱신해야 한다. dp[i]를 i번 째 문자까지의 최소 분할 횟수라고 하자. 현재, 문자열의 i번 째 인덱스를 가리킨다고 할 때, i번 째 문자를 마지막으로 하는 팰린드롬이 있는지 확인한다. ...
📌 문제 https://www.acmicpc.net/problem/1753 📌 설명 가장 대표적인 다익스트라 문제이다. 우선순위 큐를 통해 구현하였다. 📌 코드 #include <iostream> #include <queue> #include <vector> #define INF 300001 using na...
📌 QueryDSL이란? QueryDSL은 HQL(Hibernate Query Language)를 타입에 안전하게(type-safe) 생성 및 관리하는 프레임워크이다. 정적 타입을 통해 SQL이나 JPQL 쿼리를 자바 코드로 작성할 수 있다. 정적 타입이란 컴파일 시점에 변수나 객체의 데이터 타입이 미리 결정되는 것을 말한다. ‘type...