본문 바로가기

분류 전체보기

(174)
[코딩테스트] SWEA 6782 현주가 좋아하는 제곱근 놀이(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 6782 현주가 좋아하는 제곱근 놀이입니다.포인트해당 문제의 가장 포인트는 Math.sqrt()의 반환값입니다.먼저 자바의 Math.sqrt() 스펙을 살펴보겠습니다./** * Returns the correctly rounded positive square root of a * {@code double} value. * Special cases: * If the argument is NaN or less than zero, then the result * is NaN. * If the argument is positive infinity, the..
[코딩테스트] SWEA 7793 오! 나의 여신님(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 7793 오! 나의 여신님입니다.포인트해당 문제에서는 악마의 손아귀가 먼저 진행되어야 합니다.만약 악마의 손아귀를 통해서 전파된 곳에 수연이가 이미 있는 곳이라도 사실 크게 의미가 없습니다.왜냐하면 이미 수연이가 있는 위치는 수연이가 도달한 공간이기 때문에 다음 시간에는 수연이가 이동하기에 부식된 공간과는 수연이의 위치와 무관합니다. 수연이가 고려할 것은 다음 위치에 악마의 손아귀가 있는지 없는지 입니다.따라서 BFS 탐색을 통해서 문제를 진행합니다.소스코드import java.io.BufferedReader;import java.io.IOExce..
[Spring Security] Spring Security에서는 필터를 어떻게 등록할까? 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링 정리를 위한 포스팅입니다.해당 포스팅은 Spring Security DSL기반 필터 등록 과정입니다. 서론문득 Security 작업을 진행하면서 커스텀 필터를 어느 곳에 위치하는 것이 좋은지 호기심이 생겼습니다.처음 Security를 사용했을때 UsernamePasswordAuthenticationFilter를 앞에 문득 붙였었는데 Spring Security는 다양한 필터를 체인 형태로 적용하는데, 내가 만든 필터가 정확히 어떤 순서에 들어가야 효율적인지, 이를 확인하기 위해 실제 Filter 등록과정을 분석하고, 내부 소스 코드를 따라가보았습니..
[코딩테스트] SWEA 1256 K번째 접미어(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1256 K번째 접미어입니다. 해당 문제도 솔직히 효율적인 코드인지는 잘 모르겠습니다만, 제가 활용한 알고리즘을 정리하겠습니다.포인트Java의 substring() method를 활용하여, 접미어를 구하고, Collections.sort를 진행합니다.그 이후 k번째 접미어를 찾아줍니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections..
[코딩테스트] SWEA 1259 금속막대(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1259 금속막대입니다.포인트문제의 포인트를 잡기 앞서, 조건을 몇개 추가하여야 문제의 해결이 가능합니다.첫째, 나사들의 중복은 존재하지 않아야합니다. 예를 들어 숫나사의 값들에는 중복이 없으며, 암나사의 값들에는 중복이 없습니다.둘째, 남는 나사는 없습니다. 즉 모든 나사는 연결이 가능합니다. 이러한 조건을 바탕으로 맨 첫번째 숫나사는 어떠한 나사의 암나사와도 일치하지 않음을 알 수 있습니다.첫번째 나사를 기준으로 암나사의 값과 숫나사의 값이 일치하는 나사를 찾고 그 다음 나사로 반복해주면 문제를 해결할 수 있습니다.소스코드import java...
[코딩테스트] SWEA 1265 달란트2(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1265 달란트2입니다.포인트해당 문제는 수학을 사용하는 문제였습니다.합이 같은 두 수열이라도, 수들의 차이가 적을수록 곱이 더 커집니다.예를 들어:- 6을 2와 4로 나누면 곱은 8- 6을 3과 3으로 나누면 곱은 9 ✅즉, 곱해지는 수가 서로 비슷할수록 곱의 값은 더 커집니다.이 성질을 이용하면, 복잡한 탐색 없이 곱의 최댓값을 수학적으로 계산할 수 있습니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java..
[코딩테스트] SWEA 1248 공통조상(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1248 공통조상입니다.먼저 효율적인 풀이인지는 사실 잘 모르겠습니다. 제가 푼 방법만 공유드리겠습니다.(후에 찾아보니 binary lifting 방법이 있더라구요. 추후에 공부 후 포스팅하도록 하겠습니다.)포인트트리의 특성을 활용한 문제입니다.트리의 각 노드는 depth가 존재하고 같은 depth로 만들고 그 부모가 같은지 확인하고 다르다면 부모 노드로 이동하는 로직으로 구성했습니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReade..
[코딩테스트] SWEA 1210 Ladder1(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1210 Ladder1입니다.포인트사다리 타기 게임에 포인트는 아래로만 향하다가 갈래를 만났을 때 무조건 그쪽 방향으로 간다는 것입니다.100x100의 배열이기에 시작하는 위치(i==0이고 값이 1인) 위치를 기억하여 해당 위치에서 사다리를 탔을 때 목적지에 도착하도록 구현하는 문제입니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Q1210 { static cla..