자기 자신을 포함하고 다시 자기 자신을 사용하여 정의되는 경우를 재귀라고 함ex.1은 자연수입니다. <= 자기 자신어떤 자연수의 바로 다음 수도 자연수입니다. <= 다시 자기 자신을사용ex. 팩토리얼 구하기재귀함수의 경우 반드시 종료 조건을 명시해야 함!!!
정렬되어 있는 배열에서 데이터를 찾으려고 시도할 때, 탐색 범위를 절반씩 줄여가며 찾아가는 Search 방법이분탐색(이진탐색/binary search)의 기본조건은원소가 오름차순이나 내림차순으로 정렬된 배열에서 사용 가능하다는 것!O(logN) N개의 크기 배열을 이진
백트래킹 (Backtracking) aka. 퇴각 검색 (Backtrack) 제약 조건 만족 문제에서 해를 찾기 위한 전략 해답이 될 수 있는 모든 벡터를 만들어 탐색하는 브루트포스는 시간과 공간의 복잡도가 증가하여 원하는 시간에 문제를 풀지 못하는 상황이 발생
백트래킹 (Backtracking) aka. 퇴각 검색 (Backtrack) 제약 조건 만족 문제에서 해를 찾기 위한 전략 해답이 될 수 있는 모든 벡터를 만들어 탐색하는 브루트포스는 시간과 공간의 복잡도가 증가하여 원하는 시간에 문제를 풀지 못하는 상황이 발생
Divide and Conquer말 그대로 어떤 문제를 해결하는 알고리즘에서 원래 문제를 성질이 똑같은 여러 개의 부분 문제로 나누어 해결하여 원래 문제의 해를 구하는 방식.순환적으로 문제를 푸는 하향식 접근 방법주어진 문제의 입력을 더이상 나눌 수 없을 때 까지 순환
우선순위 큐에서, 높은 우선순위를 가진 원소는 낮은 우선순위를 가진 원소보다 먼저 처리된다. 같은 우선순위를 가진다면, 먼저 들어온 원소를 처리한다.제거될 때는 가장 작은 값을 제거하는 독특한 특성을 지닌 자료구조우선순위 큐는 힙(heap)이라는 자료 구조를 통해 구현
탑https://www.acmicpc.net/problem/2493크게 만들기https://www.acmicpc.net/problem/2812
DFS 기본 구조 BFS 기본 구조
여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘. 출발 노드를 설정최단 거리 테이블을 초기화방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단
순서가 정해진 대로 차례대로 수행해야 할 때 방향성에 거스르지 않도록 순서대로 나열하는 것진입차수가 0인 노드를 큐에 넣는다큐가 빌 때까지 반복큐에서 원소 꺼내기해당 원소의 인접노드와 가중치 파악연결된 인접노드의 진입차수에서 1빼기새롭게 진입차수가 0이 된 노드를 큐에
신장트리란 하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프최소한의 비용으로 신장트리를 찾아야 할 때, 모든 노드를 연결하면서 최소한의 비용으로 연결하려면 크루스칼 알고리즘을 사용해야 함간선 데이터를 비용에 따라 오름차순으로 정렬간선을
https://www.acmicpc.net/problem/1697
정답을 15746으로 나눈 나머지를 출력하시오 같은 문제들이 있다. ex. 백준 1629번 곱셈 https://www.acmicpc.net/problem/1629 매우 큰 값을 대비한 것인데, 이때 출력 직전에만 나머지 연산을 진행하면 오버플로가 발생할 확률이 높다
나중에 넣은 데이터가 먼저 반환되도록 설계한 메모리 구조Last In First Out (LIFO)라고도 함파이썬은 따로 stack 구조를 제공하지 않기 때문에, 기본 클래스 list를 사용하여 stack을 표현할 수 있다.데이터의 입력인 push로는 .append()
두 그룹의 데이터를 서로 엮어주는 파이썬의 내장함수for 문에서 zip을 쓰는 경우그냥 둘을 바로 엮어서 list로 묶어준 경우리스트 두 개를 엮어서 dictionary로 묶어준 경우가변 인자를 받기 때문에 2개 이상의 인자를 넘겨서 병렬 처리를 할 수 있음.아래 코드
기간 22년 05월 23일 ~ 약 한달 간 목표 코딩테스트 고득점 kit 문제 다 풀기 풀이 다 이해하고 쓸 수 있을 정도로 익히기 해시 완주하지 못한 선수 collections.Counter를 이용한 카운팅 ["mislav", "stanko", "mislav", "