반응형 분류 전체보기163 [Java] 프로그래머스 - 가장 먼 노드 프로그래머스 가장 먼 노드 문제는 그래프의 한 노드에서 가장 멀리 떨어져 있는 노드의 개수를 구하는 문제다. 난이도는 레벨3이며 그래프 탐색를 통해 해결할 수 있다. 프로그래머스 - XX 문제 정보 알고리즘 분류 - 그래프 탐색 난이도 - Level 3 문제 요약 n개의 정점으로 이루어진 그래프가 있다. 1번 노드에서 가장 먼 노드의 개수는? 문제 풀이 과정 1번부터 BFS로 돌면서 다른 노드들까지의 최단거리를 구함 최대 거리를 갖는 노드의 개수를 구함 코드 import java.util.*; class Solution { public int solution(int n, int[][] edge) { int answer = 0; int maxLen = 0; // 주어진 그래프 정보를 연결 리스트로 변환 L.. 2023. 11. 23. [JPA/MySQL] saveAll() 쓰면 쿼리 하나로 나가는 거 아니었어? / JPA에서 Bulk Insert 처리해보기 Bulk Insert란? INSERT 쿼리를 한번에 처리하는 것 MySQL에서는 아래처럼 Insert 합치기 옵션을 통해 성능을 비약적으로 향상할 수 있다. INSERT INTO person (name) VALUES ('name1'), ('name2'), ('name3'); Hibernate의 Bulk Insert saveAll() save() 메소드 내에서는 영속성 컨텍스트에서 해당 엔티티의 ID를 가져오고, ID가 null인지 아닌지를 판단하여 해당 엔티티가 새로운 엔티티인지 판단한다. MySQL 사용시에는 대체로 아이디 생성 전략을 IDENTITY로 설정하는데, 이는 아이디 관리를 MySQL에 위임하는 방식이다. (MySQL 내부적으로 AUTO INCREMENT가 일어난다.) saveAll()은 내.. 2023. 11. 10. [Java] 프로그래머스 - 불량 사용자 프로그래머스 불량 사용자 문제는 사용자 리스트와 밴 리스트가 주어졌을 때 밴된 사용자를 구하는 문제다. 난이도는 레벨3이며 그래프 탐색을 통해 해결할 수 있다. 프로그래머스 - 불량 사용자 문제 정보 알고리즘 분류 - 그래프 난이도 - Level 3 문제 요약 사용자 아이디 리스트와 밴 아이디 리스트가 주어짐 밴 아이디 리스트는 사용자 아이디 중 밴된 사용자들의 아이디로, 아이디의 일부가 *로 마스킹처리 되어있음 밴된 사용자 리스트의 경우의 수를 구하라. 문제 풀이 과정 쉬운 문제인 줄 알고 시작했으나.. 생각보다 오래 걸림 일단 사용자 아이디 각각이 어떤 밴 아이디에 걸리는지를 확인해서 따로 저장함 그리고 밴 아이디 개수만큼 사용자 아이디를 뽑아야 되는데, 문제는 순서가 없고 중복도 안된다는 것..! .. 2023. 11. 10. [Java] 프로그래머스 - 기지국 설치 프로그래머스 기지국 설치 문제는 아파트에 기지국을 설치해서 모든 아파트에 전파가 닿게 하는 문제다. 난이도는 레벨3이며 그리디 알고리즘을 통해 해결할 수 있다. 프로그래머스 - 기지국 설치 문제 정보 알고리즘 분류 - 그리디 난이도 - Level 3 문제 요약 아파트에 기지국을 설치하려 한다. 아파트 수: N < 2억 전파 거리: W (전파가 닿는 범위는 기지국 기준 -W ~ +W) 이미 설치된 기지국: stations (개수 S < 만) Q. 모든 아파트에 전파가 닿기 위해 최소 몇개의 기지국을 추가 설치해야하나? 문제 풀이 과정 N개의 아파트를 일일히 확인하면 안됨 (시간이 타이트함) 설치된 기지국들 사이사이 빈 공간에 추가로 몇개씩 넣어야 하는지만 확인 코드 public int solution(in.. 2023. 11. 9. 이전 1 ··· 17 18 19 20 21 22 23 ··· 41 다음 반응형