본문 바로가기

자바74

[Leetcode]2574. Left and Right Sum Differences 문제 요약알고리즘 분류:  누적합, 수학난이도: Medium문제내용:수 배열 nums가 주어진다.leftSum[i]는 배열 nums에서 인덱스 i의 왼쪽에 있는 요소들의 합이다. 0번째 인덱스나 요소가 없으면 leftSum[i] = 0이다.rightSum[i]는 배열 nums에서 인덱스 i의 오른쪽에 있는 요소들의 합이다.n-1번째 인덱스나 요소가 없으면 rightSum[i] = 0이다.answer배열은 아래와 같이 정의한다.  answer를 반환 하여라 answer[i] = |leftSum[i] - rightSum[i]|사이트 주소: https://leetcode.com/problems/left-and-right-sum-differences/description/문제풀이 이번 문제는 완전탐색으로 풀면 .. 2025. 3. 24.
[Leetcode]1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree 문제 요약알고리즘 분류: Tree, DFS, BFS난이도: Easy문제내용:cloned Tree에서  taget Node 것을 반환 하여라 사이트 주소: https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/description/문제풀이 이번 문제는 이진트리와 트리에 대한 탐색을 활용한 간단한 문제이다. 이번 문제는 트리 탐색중 깊이 우선 탐색으로 설명 할것이다.트라와 깊이 우선 탐색(DFS)에 대한 자세한 설명은 아래 글에서 확인 해보면 된다.트리: https://jih3508.tistory.com/87깊이 우선 탐색(DFS): https://jih3508.tistory.com/94넓.. 2025. 3. 21.
[Leetcode]452. Minimum Number of Arrows to Burst Balloons 문제 요약알고리즘 분류:  그리디, 정렬난이도: Medium문제내용:.벽에 붙어있는 풍선들은 [xstart, xend] 형태로 주어지며, x축에서 수직으로 화살을 쏴 터뜨릴 수 있습니다.한 번 발사된 화살은 무한히 위로 이동하며 경로 내 모든 풍선을 터뜨립니다. 모든 풍선을 터뜨리는 데 필요한 최소 화살 개수를 구하세요.사이트 주소: https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/description/문제풀이이번 문제는 완전탐색으로 풀면 O(N^2)나오지만 그러면 시간 초과가 나서 O(N^2)안되는 방법으로 끝내야 한다. 그래서 그리디로 간단하게 풀것이다. 그리디 관련 내용은 아래글로 참고 하면된다.https://jih3.. 2025. 3. 15.
[Leetcode]1442. Count Triplets That Can Form Two Arrays of Equal XOR 문제 요약알고리즘 분류:  구간합, 누적합, 수학난이도: Medium문제내용:정수 배열 arr에서 세 개의 인덱스 (i, j, k)를 선택해야 합니다.인덱스 조건: 0 ≤ i XOR 조건: arr[i]^arr[i+1]^...^arr[j−1]=arr[j]^arr[j+1]^...^arr[k]이때, 아래 조건을 만족해야 합니다.이러한 (i, j, k) 조합의 개수를 구하세요.사이트 주소: https://leetcode.com/problems/count-triplets-that-can-form-two-arrays-of-equal-xor/description/문제풀이이번 문제는 완전탐색으로 풀면 O(N^4)나오지만 그러면 시간 초과가 나서 O(N^3)으로 풀어야 되는 문제이다. 그래서 이번에는 누적합과 구간합을 .. 2025. 3. 8.
[Leetcode]670. Maximum Swaps 문제 요약알고리즘 분류:  구현, 브루드 포스, 그리디난이도: Medium문제내용:숫자 num이 주어지고 두개 숫자 변경 해서 최대 값을 구하여라사이트 주소: https://leetcode.com/problems/maximum-swap/문제풀이이번 문제는 숫자 2개만 바꿔서 그 중 최대 값만 반환 하기 때문에 어렵지 않다고 생각하낟. 그래서 아래 처럼 구현만 된다.숫자를 배열 또는 리스트로 만든다. 그리고 num값을 최대값으로 지정 한다.이중 for문 돌려서 i는 0 ~ 배열 크기 -1, j는 i + 1 ~ 배열 크기 만큼 돌린다.i, j 바꾸고난뒤 숫자로 변환 한뒤 이전 최대 값과 비교하여 그중 큰 값으로 저장 한다. 위 처럼 구현하면 시간 복잡도는 num의 자리수를 N이라고 볼면 O(N^2)만큼 나온.. 2025. 3. 1.
[BAEKJOON]2748 피보나치 수 2 문제 요약알고리즘 분류: dp난이도:  Bronze1문제내용:피보나치 수는 0과 1로 시작한다. 피보나치 식은 아래와 같다.Fn = Fn-1 + Fn-2 N이 주어 졌을때 피보나치 Fn을 구하여라 (N 사이트: https://www.acmicpc.net/problem/2748문제풀이이번 문제는 재귀 호출로 풀기에는 숫자가 커질수록 계산량이 급격히 증가하기 때문에, 동적 계획법(Dynamic Programming, DP*을 사용해야 효율적으로 해결할 수 있다. 동적 계획법에 대해 잘 모르신다면, 아래 링크를 통해 자세한 설명을 확인 해보면 된다.https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP)이론 이번에 볼 알고리즘은 동적계획법.. 2025. 1. 14.