Mgcllee

[백준][15686] 치킨 배달

이 포스트는 백준 사이트의 치킨 배달 문제 풀이입니다. 문제 첫 번째 시도(실패) 여러 개의 치킨 가게 중 M 개만 선택하였을 때, 도시의 치킨 거리가 최소인 경우를 구해야 합니다. 여기서 M 개의 가게 선택을 위해 조합을 사용하고 조합으로 선택된 가게들에서 집들까지의 최소 거리를 반복해서 갱신해 정답을 구하고자 하였습니다. #inc...

[프로그래머스] 정수 삼각형

코딩테스트 연습 - 정수 삼각형 문제 바로가기 문제 설명 삼각형의 위쪽 꼭지점에서 아래쪽으로 이동하면서 각 숫자를 합해 가장 큰 숫자를 만드는 문제입니다. 이 문제는 그림을 그렸을 때, 이진 그래프처럼 보이는 문제이지만 그래프를 만들 필요도 없이 메모이제이션 기법으로 간단하게 풀 수 있습니다. 시간 복잡도 실패 처음 문제를 접근할 때...

[알고리즘] 플로이드 워셜(Floyd Warshall)

이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 이전 포스트 에서 다익스트라 최단 경로 알고리즘에 대해서 설명했습니다. 다익스트라 알고리즘은 한 지점에서 다른 지점까지 의 최단 경로를 빠르게 구할 수 있는 알고리즘 이였습니다. 만약 그래프에 존재하는 N 개의 점이 서로의 최단 경로를 모두 알고 싶다면...

[자료구조] 이진 탐색 트리

이진 트리를 이용한 탐색 이전 포스트에서 이진 트리에 대해 알아보았습니다. 이번 포스트에서는 이진 트리를 활용한 이진 탐색 트리에 대해 알아보겠습니다. 이진 탐색 트리는 다음과 같은 특징이 있습니다. 키 중복 없음 특정 노드의 왼쪽 서브 트리는 특정 노드 보다 작은 키 값만 존재 특정 노드의 오른쪽 서브 트리는 특정 노드 보다 큰 키...

[SideProject] 어째서 코드를 깨끗하게 만들어야할까

프로그램의 소스 코드는 한 번에 완벽하게 작성할 수 없습니다. 팀 프로젝트에서는 한 팀원이 작성한 코드를 다른 팀원이 읽을 수 있고 개인 프로젝트에서도 기능을 추가하거나 수정하다 보면 이전 코드를 읽을 때가 있습니다. 여기서 이전 코드를 이해하는데 시간이 소모될 수 있고 최악의 경우, 매번 같은 코드 이해하고자 처음부터 다시 읽어야 될 수 있습니다. ...

[자료구조] 이진 트리

이진 트리의 개념 이진 트리는 최대 차수가 2 인 트리입니다. 즉, 트리에 있는 모든 노드는 자식 노드의 수가 2개 이하로 갖고 있는 경우입니다. 2개 이하라고 한 이유는 트리 모양에 따라 이름이 다르기 때문입니다. 대표적으로 정 이진 트리, 포화 이진 트리, 완전 이진 트리, 균형 이진 트리 등이 있습니다. [모든 노드의 차수가 2인 이진 ...