OAuth 2.0
📌 OAuth 2.0이란? OAuth 2.0 은 사용자가 자신의 리소스에 대한 접근 권한을 third-party 웹 또는 애플리케이션에 부여할 수 있도록 설계된 권한 부여 프레임워크이다. 사용자는 OAuth 2.0을 통해 아이디, 비밀번호와 같은 로그인 정보를 공유하지 않으면서 third-party 웹 또는 애플리케이션이 특정 작업을 수행할 수 ...
📌 OAuth 2.0이란? OAuth 2.0 은 사용자가 자신의 리소스에 대한 접근 권한을 third-party 웹 또는 애플리케이션에 부여할 수 있도록 설계된 권한 부여 프레임워크이다. 사용자는 OAuth 2.0을 통해 아이디, 비밀번호와 같은 로그인 정보를 공유하지 않으면서 third-party 웹 또는 애플리케이션이 특정 작업을 수행할 수 ...
📌 문제 https://www.acmicpc.net/problem/1613 📌 설명 주어진 두 수의 전후 관계를 판별하는 문제이다. 대충 문제를 보고 위상정렬이겠거니 하고 풀었지만 WA가 나왔다. 위상정렬 풀이의 반례는 비연결 그래프 상황이다. 1->3, 2->4에서 3, 4의 전후 관계는 판별할 수 없다. 그렇다면 Union-Fin...
📌 문제 https://www.acmicpc.net/problem/11657 📌 설명 음의 가중치를 가지는 간선에서 최단 경로를 구하는 문제이므로 다익스트라는 사용할 수 없으며, 벨만-포드나 플로이드-워셜 알고리즘을 사용해야 한다. 단, 몇 가지 고려해야 하는 점이 있다. 먼저 출발지와 도착지가 같은 버스가 여러 개 존재할 수 있다. 이는 예제...
📌 Bean이란? Bean 은 스프링 프레임워크에서 IoC(Inversion of Control) 컨테이너에 의해 관리되는 객체를 말한다. Spring Boot의 특징 중 하나는IoC(Inversion of Control)이다. IoC는 객체의 생성 및 제어권, 생명주기 관리 등을 개발자가 아닌 Spring Boot Framework에게 맡기...
현대의 웹 애플리케이션은 많은 기능이 있으며 복잡하다. 따라서 가독성 및 유지보수성이 떨어진다. 또한 여러 팀이 협업하는 경우 코드 충돌 및 관리의 어려움이 발생한다. 또한 컴포넌트 기반 개발이 보편화됨에 따라 재사용 가능한 코드 구조가 필요하게 되었다. FSD(Feature-Sliced Design) 는 프론트엔드 애플리케이션을 기능 단위로 구조화...
📌 문제 https://www.acmicpc.net/problem/12015 📌 설명 11053번: 가장 긴 증가하는 부분 수열 문제는 이중 for문을 돌며 현재 원소의 dp값은 현재 원소보다 작은 원소들의 dp값의 최댓값에 1을 더한 값이었다. 이번 문제는 위와 같은 O(N^2) 풀이로 풀게 되면 시간 초과가 발생한다. LIS를 푸는 방법...
📌 문제 https://www.acmicpc.net/problem/20530 📌 설명 사이클에 속하는 노드를 루트 노드로 하여 새로운 트리를 만든다. 만약 두 노드가 하나의 트리에 존재한다면 단순 경로의 수는 1, 다른 트리에 존재한다면 2이다. 먼저 DFS를 통해 사이클을 탐지하고 해당하는 노드들을 찾는다. 연결된 두 노드에 대하여 만약 한 ...
📌 문제 https://www.acmicpc.net/problem/1202 📌 설명 처음에는 DP로 푸는 배낭 문제인 줄 알았지만 입력의 제한이 너무 컸다. 또한 가방이 여러 개이며 하나의 가방에 하나의 보석만 넣을 수 있다는 점이 배낭 문제와의 차이점이었다. 당연히 보석을 분할할 수 있다는 조건이 없으므로 그리디 알고리즘을 통한 배낭 문제로도 ...
📌 문제 https://www.acmicpc.net/problem/23085 📌 설명 처음에 BFS인지 감도 안 잡히는 문제였다. BFS로 풀어야 한다는 것을 알아도 코드를 작성하기 힘들었다. 인터넷의 도움을 통해 어느 동전이 H고 T인지가 중요한 것이 아니라 H 또는 T 상태인 동전의 수가 중요하다는 것을 알았다. 초기 H의 상태와 뒤집은 횟수...
📌 문제 https://www.acmicpc.net/problem/9328 📌 설명 전형적인 BFS 문제이다. 고려해줘야 할 점이 너무 많았다. 열쇠나 문을 열었을 때 다시 BFS을 수행해주어야 한다는 점이 생각하기 힘들었다. 초기 배열을 입력받고 가장자리를 돌며 들어갈 수 있는 좌표는 q에 삽입한다. 들어갈 수 있는 조건은 빈 공간, 열쇠가 ...