본문 바로가기

분류 전체보기61

DFS - 단어변환 프로그래머스 (DFS) 단어변환 해당 문제는 DFS을 통해 풀었습니다. DFS 관련 문제가 아니였으면 못풀었을듯 합니다. 다른 분들 코드와 유사하게 단어가 1개만 다를 경우 다시 dfs를 호출해 다음 1개만 다른 단어를 찾는 방식입니다. 전체를 탐색해야하기 때문에 방문후 visited를 false로 다시 되돌렸습니다. private static boolean[] visited; public int solution(String begin, String target, String[] words) { visited = new boolean[words.length]; return dfs(begin, target, words, 0); } public int dfs(String begin, String target.. 2022. 3. 18.
그래프 - 가장 먼 노드 프로그래머스 (그래프) - 가장 먼 노드 해당 문제는 BFS 알고리즘을 활용해서 푸는 문제였습니다. 최상단 1번노드 부터 시작하여 1번 노드까지의 길이를 1로 시작하여 해당 노드와 연결된 다른 노드들의 정보를 큐에 넣고, 미리 만들어둔 해당 노드까지의 길이를 저장하는 배열에 현재노드까지의 길이 + 1의 값을 저장해 둡니다. edge의 좌우 순서가 중요하지 않으므로 연결 노드를 잘 찾아야 했습니다. public int solution(int n, int[][] edge) { int answer = 0; int[] nodeLengths = new int[n + 1]; nodeLengths[1] = 1; Queue bfsQueue = new LinkedList(); bfsQueue.add(1); while (.. 2022. 3. 17.
JPA (1) - JPA? ORM? 개요 JPA를 공부하면서 보게되는 이론적 영역 정리. ORM(Object-Relational Mapping)? 객체는 객체로 설계를 하고, 관계형 데이터베이스는 관계형 데이터베이스대로 설계하고 두가지를 매핑 한다는 의미 ORM 프레임워크로 JPA hibernate, iBatis/MyBatis JPA(Java Persistence API)? 자바 진영의 ORM 기술 표준 (사양) JPA는 객체 지향 도메인 모델과 관계형 데이터베이스 시스템 간의 다리 역할 JPA는 자체적으로 어떤 작업도 수행하지 않음(사양일 뿐) Hibernate, TopLink 및 iBatis와 같은 ORM 도구는 데이터 지속성을 위한 JPA 사양을 구현 ORM 도구에서 다른 도구로 애플리케이션을 전환하려는 경우 쉽게 수행 가능 java.. 2022. 3. 16.
이분탐색 - 징검다리 해당 문제는 이분탐색을 이용한 문제로 조건에 맞는 mid를 찾아내는 방식으로 구했습니다. 조건에 맞는 mid란 mid 이상의 거리를 만드는 데 제거 되어야 하는 돌의 count를 새고 돌의 count가 입력받은 n 보다 크다면 mid의 범위를 줄이고 작다면 mid의 범위를 키우는 식으로의 이분탐색을 진행했습니다. 해당 문제는 이분탐색 카테고리에 없었다면, 알고리즘을 추측하고 문제를 풀기 어려웠을것으로 생각됩니다. public int solution(int distance, int[] rocks, int n) { int answer = 0; int[] betweenRockLengths = new int[rocks.length]; Arrays.sort(rocks); betweenRockLengths[0] =.. 2022. 3. 16.