문제(출처): https://programmers.co.kr/learn/courses/30/lessons/43105첫 글이라 사용법이 서툴다...위 삼각형 그림에서 숫자 7이 쓰인 노드로 오는 길은 2가지로 나눌 수 있다.이전 행의 숫자 8, 1 각각 두 노드
문제(출처)-프로그래머스이분탐색 \+ 찾는 값(걸리는 시간)을 대상으로 이분탐색 진행문제에서 비어 있는 심사대로 가서 심사를 받을 수도, 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳에서 심사를 받을 수도 있다고 설명하는데 여기에 현혹될 필요 없다.중요한 것은 모든
문제(출처)-프로그래머스bfs (or dfs)인접 그래프문제가 요구하는 것은 다음과 같다.1\. 1번 노드에서 시작하여 각 노드마다 최소 경로를 구한다.2\. 최소 경로들 중 최댓값의 개수를 구한다.이를 위해서는 그래프를 탐색할 필요가 있으며 가장 기본적인 방법은 df
문제(출처)-프로그래머스정렬hash table문제가 요구하는 바는 다음과 같다.hash table을 사용한다.그 이유는 genres 배열이 뒤죽박죽 섞여 있기 때문이다.(genre를 통해 노래 횟수에 접근할 때 이론적으로 O(1)을 보장하여 해당 상황에서 가장 빠른 자
문제(출처)-프로그래머스이중우선순위큐 (최솟값, 최댓값 둘 다 찾을 수 있는 우선순위큐)문제를 푸는 과정은 다음과 같다.2번 라인을 위해 parse_operation() 함수를 만들어서 insert는 0, delete min은 -1, delete max는 1을 반환하
문제(출처)-프로그래머스Greedy문제를 푸는 전략은 다음과 같다.처리시간의 시작과 끝을 start_time, end_time이라고 하자.(end_time = start_time + 1s - 0.001s)어떤 일의 처리구간을 '막대'라하자. (아래 그림 참조)(1)의
탐욕법투 포인터 알고리즘 (2개의 포인터(or index)를 이용해 원하는 바를 구하는 알고리즘)이 문제를 요약하면 원하는 조건을 만족하는 최소 길이의 연속된 구간을 구하는 것이다.따라서 2개의 index를 잘 조절하여 해당 구간을 구해야 한다.(이를 투 포인터 알고리
문제(출처)-프로그래머스시뮬레이션콘은 가장 늦게 버스를 타고 싶어한다.따라서 가장 중점적으로 봐야하는 건 마지막 버스다.마지막 버스에서 확인해야 하는 것은 무엇일까?우선 콘은 버스를 타지 않는다고 가정하고 상황을 살펴보자.첫째로 마지막 버스가 떠날 때 해당 버스에 빈
출처-프로그래머스동적계획법가장 기본적인 방법은 모든 경우를 다 따지는 것이다. 그런데 원소의 개수가 최대 100,000개이기 때문에 상상할 수 없을 만큼 오래걸린다.따라서 경우의 수를 최대한 줄여줘야 하는데, 그 중 첫번째로 탐욕법을 생각해봤다.탐욕법은 매 순간 최적의
출처 - 프로그래머스위 그림의 트리 구조에서 자식 노드는 판매원, 부모 노드는 추천인을 의미한다.예를 들어 young이라는 판매원은 edward가 추천했으며, edward라는 판매원은 mary가 추천했다는 의미다.mary, john의 추천인은 center라고 생각한다.