목록미뿌감의 코딩 (348)
미소를뿌리는감자의 코딩

1. 문제https://www.acmicpc.net/problem/1912 2. 접근 방법dp 리스트를 만든 후, 해당 idx에서는 해당 idx에서 가장 큰 연속된 수를 포함하도록 코드를 작성하고자 하였다. 양수를 만나면, 무조건 포함하는 것이 이득이 된다.음수를 만나면 더해보고, 0보다 작아진다면 연속된 합을 취소하고 다음 수 부터는 이전 dp[i-1]이 아닌 새로 값을 더하기를 시작하는 것이 좋음.작성한 코드를 하나씩 보면서 더 알아보자. for i in range(1, n+1, 1): if dp[i-1] 만약 연속된 수들의 합이 0보다 작다면, 새로 dp[i] = nums[i]로 시작한다.그 외, 크다면 포함해서 더하는 것이 이득이므로, dp[i] = dp[i-1] + nums[..
1. 문제https://www.acmicpc.net/problem/15486 2. 접근 방법이전에 풀었던 퇴사 문제와 동일하게 풀었는데 풀렸다..! https://potatoscatteringsmile.tistory.com/302 [백준 2024/10/09] 14501번 퇴사1. 문제https://www.acmicpc.net/problem/14501 2. 접근 방법이번 문제는 dp를 이용한 문제이다.이는 해당 Ti로부터 뒤에 값이 이용 불가해 지기 때문에, 뒤에서 부터 계산을 하는 것이 편리할 것이라는 생각potatoscatteringsmile.tistory.com 3. 코드def get_max_profit(n, dp): profit = [0] * (n+1) if dp[n-1][0] == 1:..

1. 문제https://www.acmicpc.net/problem/2193 2. 접근 방법 1과 0이 있을 때, 1에서는 항상 0 하나의 경우의 수만 발생하고, 0에서는 항상 1과 0. 2개의 경우의 수가 발생한다.따라서, 리스트로 0의 개수와 1의 개수를 나타내도록 하였으며, [a, b] 라고 가정했을 때, [a+b, a] 로 다음 단계가 진행된다. dp[i][0] = dp[i-1][0] + dp[i-1][1] dp[i][1] = dp[i-1][0] 3. 코드def get_nums(n, dp): dp[1] = [0, 1] dp[2] = [1, 0] for i in range(3, n+1, 1): dp[i][0] = dp[i-1][0] + dp[i..

1. 개요이번에 RabbitMQ 메시지 큐 도입을 앞두면서, SecurityConfig를 조금 수정하게 되었다.메인 서버에서 사용 중인 DB를 채팅 서버에 연결 시킴을 통해 Spring security를 사용하고자 하였다.이렇게 채팅 서버는 Mysql, mongodb, rabbitMQ를 사용하게 될 것이다. 또한, 고질적인 문제였던 @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/ws/aper-chat") .setAllowedOriginPatterns("http://localhost:8081") // have to ch..