본문 바로가기
반응형

Java43

[리트코드] Easy 1. Two Sum - 자바(JAVA) 문제 설명정수 배열 nums와 정수 target이 주어졌을 때,그 합이 target이 되는 두 숫자의 인덱스를 반환하시오. 각 입력에는 정확히 하나의 해답이 존재함을 가정할 수 있으며,같은 요소를 두 번 사용할 수는 없습니다. 정답은 아무 순서로나 반환해도 됩니다. 제한사항2 - 10⁹ - 10⁹ 유효한 정답은 오직 하나만 존재합니다. 문제 파악배열에서 숫자 2개를 더했을 때 타겟이 되는 인덱스를 찾는 문제이다. 접근 방법반복문 2개를 써서 하나씩 더한다. 코드 구현import java.util.*;class Solution { public int[] twoSum(int[] nums, int target) { int sum = 0; for (int i=0; i모든 조합 확.. 2025. 5. 25.
[JAVA] 자바 Lombok 설치 및 사용법 (IntelliJ) Lombok은 Java로 개발할 때 반복적인 코드를 줄여주는 아주 유용한 라이브러리입니다.이 글에서는 Lombok을 설치하고 IntelliJ에 적용하는 과정을 단계별로 정리해 봤습니다. 💬 Lombok이란?Lombok은 자바 코드에서 반복적으로 작성하게 되는 getter, setter, toString(), equals(), 생성자 등을 어노테이션(@) 한 줄로 자동 생성해 주는 라이브러리입니다. 예를 들어, 아래의 코드를public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name.. 2025. 5. 25.
[프로그래머스] Lv2. 전력망을 둘로 나누기 - 자바(JAVA) 문제 설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절댓값)를 return 하도록 solution 함수를 완성해 주세요. 제한사항n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다.wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이는 전력망의 v.. 2025. 5. 23.
[리트코드] Medium 236. Lowest Common Ancestor of a Binary Tree - 자바(JAVA) 문제 설명이진 트리가 주어졌을 때, 주어진 두 노드의 최저 공통 조상(LCA, Lowest Common Ancestor)을 찾아라.Wikipedia의 LCA 정의에 따르면:“최저 공통 조상(LCA)은 트리 T에서 두 노드 p와 q 사이에 정의되며, p와 q 모두의 자손인 노드 중에서 가장 낮은(가장 깊은) 노드를 의미한다. 여기서 노드는 자기 자신을 자손으로 간주할 수 있다.” 제한사항 트리의 노드 수는 [2, 105] 범위입니다.-10⁹ 모든 Node.val은 고유합니다.p != qp와 q는 트리에 존재합니다. 문제 파악두 노드 p, q의 최저 공통 조상(LCA)을 찾는 문제이다.LCA는 p와 q가 자손인 노드 중 가장 아래에 있는 노드이다. (자기 자신도 자손으로 친다.) 접근 방법재귀 탐색(DFS).. 2025. 5. 23.
[리트코드] Easy 104. Maximum Depth of Binary Tree - 자바(JAVA) 문제 설명이진 트리의 루트 노드가 주어졌을 때, 해당 트리의 최대 깊이를 반환하세요.이진 트리의 최대 깊이는 루트 노드에서 가장 먼 리프 노드까지의 경로에 포함된 노드 수를 의미합니다. 제한사항트리의 노드 수는 0 이상 10,000 이하의 범위에 있습니다.-100 문제 파악이진 트리의 최대 깊이(depth)를 구하는 문제이다.최대 깊이는 루트 노드에서 가장 깊은 리프 노드까지의 노드의 수를 의미한다. 접근 방법재귀 호출 방식으로 최대 깊이를 구한다.왼쪽, 오른쪽 서브트리의 최대 깊이를 구해서 둘 중 더 큰 값을 선택해 1을 더한다. 코드 구현/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tree.. 2025. 5. 20.
[프로그래머스] Lv2. 미로탈출 - 자바(JAVA) 문제 설명1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버를 당기지 않았더라도 출구가 있는 칸을 지나갈 수 있습니다. 미로에서 한 칸을 이동하는데 1초가 걸린다고 할 때, 최대한 빠르게 미로를 빠져나가는 데 걸리는 시간을 구하려 합니다. 미로를 나타낸 문자열 배열 maps가 매개.. 2025. 5. 18.
반응형