Develop/Algorithm

알고리즘 유형 : 백트래킹, 재귀 풀이 참고 : 자신 문제 링크 : https://www.acmicpc.net/problem/15649 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사 드리겠습니다. 풀이 요약 어제 풀었던 문제와 동일한 알고리즘이며, 같은 수가 리스트에 들어가지 못하도록 i not in arr 조건 하나를 추가 했다. 코드(python) n, m = map(int, input().split()) arr = [] def main(): if m == len(arr): print(' '.join(map(str, arr))) return for i in range(1, n+1): if i not in arr: ar..
알고리즘 유형 : 백트래킹 풀이 참고 : 블로그 문제 링크 : https://www.acmicpc.net/problem/15651 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사 드리겠습니다. DFS와 백트래킹 정리 참고 링크 : https://chanhuiseok.github.io/posts/algo-23/ 풀이 요약 1. 반복문 안에서 재귀를 하여 반복문이 한번 들어갈때마다 n개의 반복을 하게 된다. 2. 프린트 모양에 대한 부분은 join함수와 pop을 통해 구현 하였다. 코드(python) n, m = map(int, input().split()) arr = [] def go(): if len(arr) == m: #..
알고리즘 유형 : 그리디 풀이 참고 : 동기 문제 링크 : https://www.acmicpc.net/problem/1931 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사드리겠습니다. 풀이 요약 가장 중요한 키는 '회의 종료시점으로 오름차순'으로 정렬하면 어떻게 구현할지 보인다. 그다음 반례를 하나 조심해야 하는데 문제에 답이 있다. '회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다.' 코드(python) import sys # 회의실 한개의 n개의 회의에 대한 사용표 # 회의 최대 개수 n = int(input()) arr = [] for _ in range(n):..
알고리즘 유형 : DP, LIS 풀이 참고 : 유튜브, 여러 블로그 문제 링크 : https://www.acmicpc.net/problem/11053 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사 드리겠습니다. 가장 긴 증가하는 부분 수열이란?(LIS) 부분 수열이라는 개념부터 정확히 와닿지 않았다. 단어 하나씩 공부해야 했다. 1. 부분수열이란? - 내가 이해한 범위로 간단히 정리한다. - 수열 {1,2,3,4} 가 있다고 가정하면, 이 수열의 부분 수열은 1이 될 수도 있고, 2도 될수 있고 ... 1234도 될 수있다. - 즉, 주어진 수열에서 순서만 같다면 모든 공통되는 수열이 부분 수열이 될 수 있다. - 교집합..
알고리즘 유형 : DP DP에 대한 개념 정리와 내용은 하기 링크에 매우 자세하고 친절히 되어 있습니다. 참고 : https://antaehyeon.github.io/devlog/2018/05/08/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%8B%A4%EC%9D%B4%EB%82%98%EB%AF%B9-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%86%8C%EA%B0%9C/ 참고 : https://hongjw1938.tistory.com/47 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사드리겠습니다. 정의 - 큰 문제를 작은 문제로 쪼개서 그 답을 저..
알고리즘 유형 : 최소 스패닝 트리, 크루스칼 알고리즘 풀이 참고 : 여러 블로그, 동기 가르침 문제 링크 : https://www.acmicpc.net/problem/1197 늘 언급하지만 해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 그래서 당연히 귀한 시간 내주시어 지적해 주시면 감사 드리겠습니다. 크루스칼 알고리즘 1. 상세한 정의는 다른블로그에 매우 자세히 되어 있다. 2. 역시 내가 이해한 대로 정리한다. 1) 그래프 내 모든 정점을 포함하며, 사이클이 되지 않고, 최소 비용(가중치의 합이 최소)이 되도록 만드는 것 2) 문제에 주어지는 노드와 간선 정보, 가중치 값 까지 받는다. 3) 만약 두 연결 노드의 부모노드가 같지 않다면, union함수로 합쳐준다. 3. 말은 이게 끝..
Hong-Kyu
'Develop/Algorithm' 카테고리의 글 목록 (2 Page)