https://www.acmicpc.net/problem/17220 17220번: 마약수사대 최근들어 세계적으로 마약과 관련한 사회적 문제들이 많이 발생하고 있다. 이에 따라 경찰은 마약 수사대의 한정된 인력이 허용하는 선에서 최대한 마약공급을 막고자 한다. 마약 공급책들은 www.acmicpc.net 문제 구현 알고리즘 해당 문제는 graph, dfs (또는 bfs)를 활용해서 푸는 문제 입니다. 해당 문제에서는 예외 케이스들이 존재해서 해결하는데 시간이 걸렸습니다. 확인사항 1. 마약 원산지는 제외하고 결과값을 구해야함 마약수사대가 소재지 파악에 원산지가 들어갈 수 있지만 최종적으로 구해야되는 값은 마약 공급자입니다. 그러므로 Root노드를 제외한 Edge노드만 counting해줘야합니다. 2. 마약..
문제 설명 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 예제 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. - 예제 입력 1 27 - 예제 출력 1 문제 접근 방식 1. 시간 복잡도 우선 알고리즘 구현 시 시간복잡도를 확인해봤을 떄, N은 3의 ..
[ 목차 ] 1. 개요 2. 냅색 알고리즘 개념 3. 냅색 알고리즘 원리 개요 특정 가중치와 할당된 값을 가진 항목 집합이 주어지면 가중치 제약 내에 머무르면서 배낭의 값을 최대화하는 것이 목표인 시나리오에서 유래된 알고리즘 입니다. 냅색 알고리즘은 optimization 카테고리에 속하는 DP(Dynamic Programming) 문제 입니다. *optimization DP(Dynamic Programming) 해법으로는 총 두가지가 있습니다. 1. Overlapping subproblem 2. Optimal substructure 여기서 냅색 알고리즘은 2번째 Optimal substructure은 작은 문제의 최적 해법으로 원래 문제의 최적 해법을 구하는 방식 입니다. 문제 예시를 들어보면, 마리는..
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 입출력 예 ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko" ["mislav", "stanko", "mislav", "ana"] ["stanko", "an..