본문 바로가기

분류 전체보기121

[백준 1965번] 상자 넣기 문제풀이 (with Python) 이전에 풀었던 백준 11722번과 매우 유사한 문제였다. 비슷한 로직으로 뒤의 숫자가 더 크면 dp[ 뒤의 숫자 ] 와 dp[앞의 숫자] + 1 을 비교해서 더 큰 수를 저장했다. N = int(input()) arr = list(map(int, input().split())) dp = [1 for _ in range(N)] for i in range(N): for j in range(i+1, N): if arr[i] < arr[j]: dp[j] = max(dp[i] + 1, dp[j]) print(max(dp)) 2023. 8. 24.
[백준 10844번] 쉬운 계단 수 문제풀이 (with Python) dp 배열을 2차원 리스트로 정의해서, 자리수에 대한 정보를 dp에 넣는 새로운 문제였다. 감이 잘 잡히지 않아 소스를 참고해서 풀었다. dp[자리수][앞 자리의 수] 값은 가능한 경우의 수이다. 1) 앞 자리가 0인 경우, dp[ i ][ j ] = dp[ i - 1 ][ 1 ] 2) 앞 자리가 1~8인 경우, dp[ i ][ j ] = dp[ i -1 ][ j -1] + dp[ i -1 ][ j +1] 3) 앞 자리가 9인 경우, dp[ i ][ j ] = dp[ i -1 ][ 8 ] N = int(input()) dp = [[0]*10 for _ in range(N+1)] for i in range(1, 10): dp[1][i] = 1 for i .. 2023. 8. 23.
스프링 시큐리티 복습 5 - 인가 프로세스 DB 연동 웹 계층 구현 2023. 8. 23.
스프링 시큐리티 복습 4 - 인증 프로세스 Ajax 인증 구현 1. Ajax 인증 AjaxAuthenticationFilter → AjaxAuthenticationToken → AuthenticationManager → AjaxAuthenticationProvider 인증 성공 시 처리 : AjaxAuthenticationSuccessHandler 인증 실패 시 처리 : AjaxAuthenticationFailureHandler → AjaxUrlAuthenticationEntryPoint (인증이 실패했을 경우) FilterSecurityInterceptor → ExceptionTranslationFilter → AjaxAccessDeniedHandler (자원 접근이 거부되었을 경우) 2. Ajax 인.. 2023. 8. 23.