본문 바로가기

분류 전체보기107

[BFS] 백준 17141 : 연구소2 - 파이썬 Python https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net 생각하기 연구소 전체를 점령할 수 있는 최소시간을 구하는 문제이므로 BFS를 통해 점령하다가 점령이 완료되면 그 때의 time을 min_time과 비교하면 되는 문제로 생각했다 바이러스를 놓을 수 있는 후보 여러 개중에서 M개를 선택하여 바이러스를 놓는다 -> 조합을 사용 처음에 모든 빈칸 + 바이러스 놓을 수 있는 후보지를 counting한 후 BFS 큐를 돌면서 counting을 차감해주는 방식으로 점.. 2022. 2. 17.
[DP] 백준 12869번 : 뮤탈리스트 - 파이썬 Python https://www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net DP문제는 내가 제일 어려워하는 유형이라 이 문제는 풀지 못하였다 백준 강의 앞부분에서 힌트를 얻고 풀어본 것을 써본다 생각하기 SCV의 값은 3이하로 매우 작다 각각의 SCV는 체력을 가지고 있다. DP[i][j][k] - SCV의 체력이 i, j, k 일때 모두 파괴하는 최소 공격횟수 SCV가 3마리라고 가정으로 하고 만약 2마리인 경우에는 DP[i][j][0]으로 처리해주면 된다 따라서 3차원 DP를.. 2022. 2. 16.
[Spring Boot] Rest Controller DTO 의 필요성 Entity를 Client에 노출하지 말자 API 스펙과 엔티티가 깊이 연관 엔티티를 아래와 같이 직접 노출할 경우, 추후 entity를 수정시 API 스펙 자체가 바뀌어버리는 상황이 온다 클라이언트 쪽과 공유하는 부분이라 큰 혼란이 초래됨 @GetMapping("/api/users") public List userList(){ return userService.findUsers(); // User entity 리스트가 반환됨 } 반환값에 특정 필드 추가 불가 클라이언트에서 특정 계산된 값이 필요하다고 할 때, 예를 들어 user의 총 인원 수 JSON의 기본틀이 깨지게 된다 { "count" : 100, "users" : [ { "id" : 1 "name" : "hj" "email" : "email@g.. 2022. 2. 15.
[JPA] 준영속 엔티티를 변경하는 방법 - 변경 감지 / 병합(Merge) * 인프런 김영한님 강의와 책을 보고 정리한 내용입니다 준영속 엔티티 Persistence context가 관리하지 않는 엔티티 영속성 컨텍스트가 제공하는 기능(1차 캐시, 쓰기 지연, 변경 감지, 지연 로딩 등)을 사용할 수 없는 엔티티 영속성 컨텍스트의 관리를 한번 받았으므로 identifier는 가지고 있음 영속 엔티티를 준영속 엔티티로 만드는 방법 em.detach() : 영속성 컨텍스트 안의 1차 cache, 쓰기 지연 SQL 저장소에서의 해당 엔티티 정보 제거 em.clear() : 영속성 컨텍스트 안에 있는 모든 정보를 초기화 em.close() : 영속성 컨텍스트 종료 즉, 준영속 엔티티 member가 존재한다고 가정했을 때, member.setName("stody"); 영속 엔티티라면 D.. 2022. 2. 15.