본문 바로가기

Java

(58)
[로그인구현] Spring-React 로그인 구현하기 (프로젝트 초기화) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링부트와 리액트를 활용해 로그인을 구현 프로젝트를 진행합니다. 순서는1. 프로젝트 초기화2. 쿠키를 이용한 로그인 구현3. 세션을 이용한 로그인 구현4. JWT 토큰을 활용한 로그인 구현입니다. 첫번째는 프론트와 백엔드 설정입니다.서론로그인은 현대 웹 애플리케이션에서 필수적인 기능으로 자리 잡았습니다. 사용자 인증은 단순히 애플리케이션에 접근하기 위한 절차를 넘어, 보안, 데이터 보호, 그리고 맞춤형 서비스 제공의 핵심 역할을 담당합니다. 따라서 신뢰할 수 있고 효율적인 로그인 시스템을 설계하고 구현하는 것은 개발자의 중요한 과제 중 하나입니다.이 포..
[코딩테스트] Java 순위 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트잃어버린 결과표에서 순위를 알 수 있는 선수의 수를 구하는 문제였습니다.순위를 안다는 것은 누군가에게 지고 이겼는지에 대한 모든 결과를 알고 있으면 되므로 wins 배열과 loses 배열을 통해 확인합니다.소스코드import java.util.*;class Solution { List> wins = new ArrayList(); List> loses = new ArrayList(); public int solution(int n, int[][] results) { i..
[코딩테스트] Java 가장 먼 노드 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트bfs 탐색을 통해 1번 노드에서 가장 먼 노드를 찾는 문제였습니다. 저는 visited 배열과 step 배열을 통해서 문제를 풀었습니다.소스코드import java.util.*;class Solution { boolean[] visited; int[] step; List> graph = new ArrayList(); Queue q = new LinkedList(); public void bfs() { while(!q.isEmpty()) { ..
[코딩테스트] Java 징검다리 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트이 문제는 이분 탐색을 어떤 값으로 하느냐가 포인트였던 것 같습니다. 저는 바위 간의 거리의 최솟값을 기준으로 이분탐색을 진행하였습니다. 해당 바위 사이의 거리가 최솟값보다 크다면 삭제하고, 삭제한 값이 n보다 더 많으면 범위를 재탐색하는 로직으로 설계하였습니다. 하지만 해당 문제에서 제거한 바위의 갯수랑 n과 같을때로 설정하면 문제가 틀리고 제거한 바위가 n보다 작거나 같을때로 하면 정답이 되었습니다. 문제의 설명이 빠진 것인지 싶은데 혹시 해당 이유를 아시는 분 있으면 댓글달아주시면 감사드립니다😁..
[코딩테스트] Java 입국심사 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트이분탐색을 이용하여 심사가 끝나는 시간을 기준으로 처리 가능한 총 인원을 계산하여 n보다 클 때에 값을 갱신하는 lowerbound(특정 조건을 만족하는 값 중에서 최솟값)를 사용했습니다. 소스코드import java.util.*;class Solution { public long solution(int n, int[] times) { Arrays.sort(times); long answer = 0; long left = 1; long right ..
[코딩테스트] Java 사칙연산 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트해당 문제는 결합법칙을 무시한 채 최대 값을 구하기 위한 문제입니다. - 연산에서는 왼쪽 값은 최댓값, 오른쪽 값은 최솟값이 되어야 최대값이 되고, + 연산에서는 두 값 모두 최대 값이 되어야 합니다. 이를 통해 dpMax 배열과 dpMin 배열을 통해 문제를 풀었습니다.소스코드class Solution { public int solution(String[] arr) { int n = arr.length / 2 + 1; // 숫자의 개수 int[][]..
[코딩테스트] Java 여행경로 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트모든 항공권을 사용해 가능한 여행 경로를 찾고, 사전순으로 가장 앞선 경로를 반환합니다.소스코드import java.util.*;class Solution { int n; boolean[] visited; ArrayList arr = new ArrayList(); public void dfs(int cnt, String start, String path, String[][] tickets) { if(cnt == n) { arr.add(path..
[코딩테스트] Java 아이템 줍기 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트해당 문제는 검은색 선을 따라서만 이동할 수 있다는 것이 포인트였습니다. 예를 들어, 도형의 변이 다음과 같을 때 BFS/DFS를 할 때에 문제가 발생할 수 있습니다.(4,3) -> (4,4) -> (5,3) -> ...왜냐하면 저희가 현재까지 사용했던 dx/dy 테크닉을 사용하게 되면 (4,3)에서 (5,3)으로 바로 이동할 수 있기 때문입니다. 따라서 저는 Scale(2)을 두어 더 정교하게 이동할 수 있도록 하였습니다. 나중에 답을 구할 때에도 Scale의 값만큼 나누어줘야하는 주의사항이 있습니다..