본문 바로가기

java15

[c++][java][백준 2098] 외판원 순회 백준 2098번: 외판원 순회 [Gold 1] https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 문제 풀이 이 문제는 TSP (Traveling Salesperson Problem) 알고리즘 문제로 그래프의 모든 노드를 한 바퀴 순회하는 최적의 경로를 찾아내는 알고리즘입니다. 모든 노드를 순회하는 최적의 경로는 완전 탐색으로도 해결이 가능하지만 노드의 개수가 10개가 넘어간다면 시간 초과에 걸리게 됩니다. 이.. 2022. 3. 24.
[c++][java][프로그래머스] 배달 프로그래머스 배달 [Summer/Winter Coding(~2018)] https://programmers.co.kr/learn/courses/30/lessons/12978?language=java 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 풀이 이 문제는 1번 마을을 기준으로 모든 마을의 거리를 구한 후 거리가 K 이하인 마을의 개수를 return 하면 됩니다. 1번 마을에서 다른 모든 마을의 거리를 구하기 위해 Single Source Shortest Path 알고리즘인.. 2022. 3. 23.
[Spring][Error] Spring Security 적용할 때 circular reference, dependency가 cycle 형성하는 것 해결하기 SecurityConfig @RequiredArgsConstructor @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ... private final UserService userService; @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userService).passwordEn.. 2022. 3. 14.
AWS RDS(MariaDB)와 IntelliJ Database 연동하기 - [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] AWS RDS(MariaDB)와 IntelliJ Database Navigator 연동 과정에서 오류 Versions IntelliJ IDEA 2021.3.1 (Ultimate Edition) Spring Boot 2.6.4 JDK 11 MariaDB(AWS RDS) 10.5.13 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 책을 따라 실습하던 중에 Chapter 07의 AWS RDS를 생성하고 인텔리제이의 데이터베이스와 연동하는 과정에서 DB Navigator를 설치하고 아래와 같이 필드를 채운 후 Test Connection을 시도했다. 하지만 위와 같이 Connection error가 발생했다. 구글링을 계속 해보다가 마땅한 답이 없어서 인텔리제이 Ultimate 버전을 사용하고 있기 때문에.. 2022. 3. 5.
SpringBoot 간단한 CRUD REST API 구현 및 JUnit5로 테스트하기 REST API란? REST API는 REST(representational state transfer)를 기반으로 하여 HTTP 요청을 사용하여 데이터에 액세스하고 사용하는 API의 아키텍처 스타일입니다. CRUD란? API를 구축할 때 모델이 제공하는 4가지 기본 유형의 기능, Create(생성), Read(읽기), Update(수정), Delete(삭제)를 CRUD라고 합니다. CRUD 구현 (Entity, Repository, Service, Controller) JPA와 H2 데이터베이스를 사용하여 간단하게 구현했습니다. User.java (Entity) package com.example.practice.impl; import lombok.Builder; import lombok.Getter;.. 2022. 2. 26.
JPA Auditing으로 Entity의 createdDate, modifiedDate 관리 JPA Auditing? 데이터를 관리하는데 있어서 생성시점, 수정시점 등 언제 데이터가 변경되었는지 기록해 두는 것은 매우 중요합니다. 그리고 이러한 것들은 한 엔티티에 국한된 것이 아니라 모든 엔티티에 적용됩니다. 중복을 편하게 해결하기 위해 Spring Data는 엔티티를 생성하거나 변경한 시점을 추적하기 위한 것들을 제공합니다. 이 기능을 이용하면 데이터를 생성하거나 수정할 때 따로 로직을 구현하지 않아도 자동적으로 시간 데이터를 관리해줍니다. 예제로 확인하기 위해 먼저 간단하게 Entity, Controller, Repository, Service를 구현하였습니다. User.java package com.example.practice.impl; import lombok.Builder; impor.. 2022. 2. 26.