IT/TIL(127)
-
20240328_DFS(타겟 넘버)
오늘의 TIL은 DFS에 대한 내용이다. DFS(Depth First Search - 깊이 우선 탐색) DFS는 그래프 탐색 알고리즘에서 사용되는 개념인데 여기서 그래프는 여러 개체들이 연결되어 있는 자료 구조이고 탐색은 특정 개체를 찾을 때 사용하는 알고리즘이다. 즉, DFS는 여러 개체들이 연결되어 있는 상태에서 특정 개체를 찾는데 사용하는 방법으로 깊이 우선 탐색(한 노드에서 끝까지 탐색)하는 방법이다. 아래 이미지처럼 왼쪽 노드부터 오른쪽 노드로 가는 순서로 탐색을 만들었다면 왼쪽 마지막 노드까지 탐색한 후에 오른쪽으로 한 칸 가서 탐색을 반복한다. DFS는 대표적으로 아래의 문제를 풀 때 사용한다. 1. 최단거리, 최소시간을 구하는 경우 2. 연결되는 그룹의 개수를 구하는 경우 3. 모든 조합을..
2024.03.28 -
20240326_HashSet, ref
오늘의 TIL은 HashSet과 ref에 대한 내용이다. HashSet https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.hashset-1?view=net-8.0 HashSet 클래스 (System.Collections.Generic) 값 집합을 나타냅니다. learn.microsoft.com C#에서 HashSet은 중복 값을 허용하지 않는 데이터 집합을 저장하는 컬렉션이다. HashSet의 특징 1. 중복 방지 - HashSet에 원소를 추가할 때, 이미 집합에 같은 원소가 있는 경우에는 추가되지 않는다. 2. 빠른 검색 - HashSet은 원소의 해시를 사용하여 저정하므로, 원소의 존재 여부를 빠르게 검사할 수 있다. 3..
2024.03.26 -
20240325_양과 늑대(프로그래머스)
오늘의 TIL은 이중우선순위큐라는 프로그래머스의 문제에 대한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이진 트리 모양 초원의 각 노드에 늑대와 양이 한 마리씩 놓여있다. 이 초원의 루트 노드에서 출발하여 각 노드를 돌아다니며 양을 모으려한다. 각 노드를 방문할 때마다 해당 노드에 있던 양과 늑대가 당신을 따라오게된다. 이 때, 늑대는 양을 잡아먹을 기회를 노리고 있으며, 당신이 모은 양의 수보다 늑대의 수..
2024.03.25 -
20240324_이중우선순위큐(프로그래머스)
오늘의 TIL은 이중우선순위큐라는 프로그래머스의 문제에 대한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말한다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0, 0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현하시오. 제한 조건 operati..
2024.03.24 -
20240322_순위(프로그래머스)
오늘의 TIL은 순위라는 프로그래머스의 문제에 대한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았다. 권투는 1대1 방식으로 진행되고, 만약 A 선수가 B보다 실력이 좋다면 A 선수는 B 선수를 항상 이긴다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 한다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없다...
2024.03.23 -
20240321_전력망을 둘로 나누기(프로그래머스)
오늘의 TIL은 전력망을 둘로 나누기라는 프로그래머스의 문제에 대한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있는 경우에 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 한다. 이 때, 두 전력망이 갖게되는 송전탑의 개수를 최대한 비슷하게 맞추려고 한다. 송전탑의 개수가 n, 전선 정보 wires가 매개변수로 주어진다. 전선들..
2024.03.22