전체 글277 [알고리즘 이론] 위상 정렬(Topological Sorting) 위상 정렬(Topological Sort) 알고리즘 이해하기위상 정렬은 방향 그래프(Directed Graph)에서 정점들을 선형으로 나열하는 알고리즘입니다. 이 알고리즘은 선행 관계가 있는 작업들을 순서대로 나열할 때 매우 유용합니다. 오늘은 위상 정렬의 개념부터 구현 방법까지 자세히 알아보겠습니다.위상 정렬이란?위상 정렬은 방향 그래프(DAG, Directed Acyclic Graph)에서 모든 노드를 "선행 순서를 지키는 순서"로 나열하는 알고리즘입니다. 여기서 중요한 것은 그래프에 사이클이 없어야 한다는 점입니다. 사이클이 있다면 선후 관계가 모순되어 위상 정렬을 수행할 수 없습니다.예를 들어, 대학 수업의 선수과목 관계를 생각해봅시다:자료구조를 듣기 위해서는 프로그래밍 기초를 들어야 함알고리즘을.. 2025. 4. 22. [BAEKJOON]25206 너의 평점은 문제 요약알고리즘 분류: 구현, 수학난이도: Silver5문제내용:전공평점은 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값P/F 과목 중 등급이 'P'인 과목은 계산에서 제외해야 함20줄에 걸쳐 과목명, 학점, 등급이 주어짐사이트: https://www.acmicpc.net/problem/25206문제풀이 이번 문제는 단순하게 구현과 소수 계산을 요구 하는 문제이다. 등급에 따른 과목평점을 정의 한 다음 과목평점이 P를 제외한 총학점과 총 과목 평점을 계산한 뒤 총 과목 평점 / 총 학점계산만 하면 끝이다. 자세한것은 아래 코드보면 된다.CodePython# 등급에 따른 과목평점 정의grades = { "A+" : 4.5, "A0": 4.0, "B+": 3.5, "B0": 3.. 2025. 4. 17. [Leetcode]554. Brick Wall 문제 요약알고리즘 분류: 배열, 해쉬난이도: Medium문제내용:. n개의 벽돌 행으로 이루어진 직사각형 벽돌 벽이 있습니다. 각 행의 벽돌들은 같은 높이(1단위)를 가지지만, 너비는 다를 수 있습니다. 모든 행의 총 너비는 동일합니다.벽에 대한 정보를 담고 있는 2D 배열 wall이 주어졌을 때, 이러한 수직선을 그린 후 가로지르는 벽돌의 최소 개수를 반환 하여라사이트 주소: https://leetcode.com/problems/brick-wall/description/문제풀이이 문제를 해결하기 위한 핵심 아이디어는 다음과 같습니다:벽돌을 가로지르지 않으려면, 선이 벽돌의 경계(두 벽돌 사이)를 통과해야 합니다.최소 개수의 벽돌을 가로지르려면, 최대한 많은 행에서 벽돌 경계를 통과해야 합니다.즉, 벽.. 2025. 4. 15. [Leetcode]984. String Without AAA or BBB 문제 요약알고리즘 분류: 그리디, 정렬난이도: Medium문제내용:.두 정수 a와 b가 주어질 때, 다음 조건을 만족하는 문자열 s를 반환하세요:s의 길이는 a + b이고, 정확히 a개의 'a' 문자와 정확히 b개의 'b' 문자를 포함합니다.부분 문자열 'aaa'는 s에 나타나지 않습니다.부분 문자열 'bbb'는 s에 나타나지 않습니다.사이트 주소:https://leetcode.com/problems/string-without-aaa-or-bbb/description/문제풀이 이번문제는 완전탐색아닌 그리디로 최적의 해로 시간복잡도가 최소화를 할 후 있다.그리디 관련 내용은 아래글로 참고 하면된다.https://jih3508.tistory.com/70 [알고리즘 이론] 그리디(Greedy)이론 그리디 알.. 2025. 4. 14. [Leetcode]1863. Sum of All Subset XOR Totals 문제 요약알고리즘 분류: 백트레킹, 수학, 배열난이도: Medium문제내용:수 배열 nums가 주어진다.XOR 총합(XOR total)은 배열의 모든 요소를 비트 단위 XOR 연산한 값이며, 배열이 비어 있는 경우에는 0으로 정의한다.[2, 5, 6]의 XOR 총합은 2 XOR 5 XOR 6 = 1 이다.정수 배열 nums가 주어질 때, nums의 모든 부분집합에 대한 XOR 총합의 합을 구하여 반환하여라사이트 주소: https://leetcode.com/problems/sum-of-all-subset-xor-totals/description/문제풀이 이번 문제는 백트레킹 문제이다. 백트레킹 관련 자세한 내용은 아래의 사이트에 참조하면된다.https://jih3508.tistory.com/84 [알고리.. 2025. 4. 9. [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. 이전 1 2 3 4 5 6 7 8 ··· 47 다음