Home
Dev Joon
Cancel

프로그래머스 Level 2 - 교점에 별 만들기 (JavaScript)

프로그래머스 - Level2 교점에 별 만들기 문제 설명 문제 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 직선을 2개씩 조합하는 모든 경우의 수를 구한다. 각 조합마다 교점을 구한다. 교점을 구하는 공식에 따라 계산 계산 결과가 정수인 경우만 배열에 추가 2차원 배열에 교점의 위치...

프로그래머스 Level 2 - 삼각 달팽이 (JavaScript)

프로그래머스 - Level2 삼각 달팽이 문제 설명 문제 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 n = 5 일때, 다음과 같은 규칙을 발견할 수 있다. 아래 방향으로 끝까지 도달할 때까지 n 개의 수를 채운다. 오른쪽 방향으로 끝까지 도달할 때까지 n - 1 개의 수를 채운다. 위 방향으로 끝까지 도달할 때 까지 n...

다익스트라 알고리즘 개념 정리 및 구현 (JavaScript)

다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색 알고리즘이다. 인공위성 GPS 소프트웨어 등에서 가장 많이 사용되는 알고리즘이다. 다익스트라 알고리즘은 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 계산한다. 이때, 거리가 음수인 간선은 포함할 수 없다. 하지만, 현실 ...

프로그래머스 Level 2 - 배달 (JavaScript)

프로그래머스 - Level2 배달 문제 설명 문제 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 다익스트라 알고리즘을 적용해서 풀었다. 그래프 문제는 처음이라 자료를 찾아가며 풀었다. 1번 마을에서 K 시간 안에 배달이 가능한 마을이 몇 개 있는지 구해야 한다. 주어진 시간 안에 이동하기 위해서는 최단 시간으로 이동하는 것이 좋기 때문에...

미로찾기 알고리즘 해결 전략 및 구현 (feat. DFS, BFS)

TL; DR DFS 는 스택과 재귀를 이용한다. BFS 는 큐와 반복문을 이용한다. 문제에서 요구하는 조건에 따라 DFS 나 BFS 둘 중 하나를 선택한다. 미로찾기 알고리즘이란? 미로찾기 알고리즘은 코딩 테스트에서 자주 등장하는 알고리즘이다. 시작 지점과 도착 지점이 주어지며, 탈출할 수 있는 경로를 출력하거나 탈출까지 걸리...

프로그래머스 Level 2 - 게임 맵 최단거리 (JavaScript)

프로그래머스 - Level2 게임 맵 최단거리 문제 설명 문제 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 1️⃣ DFS (실패 : 정확성 OK, 효율성 0점) 처음에는 DFS 로 접근해서 풀었다. (0, 0) 좌표에서 (n, m) 까지는 가기 위해서는 좌상단에서 우하단으로 가기 때문에 우, 하, 상, 좌 순으로 방향을 탐색했다. c...

프로그래머스 Level 2 - 방문 길이 (JavaScript)

프로그래머스 - Level2 방문 길이 문제 설명 문제 설명 생략 🙋‍♂️나의 풀이 문제 자체가 어렵지는 않았지만, 지나온 길을 어떻게 저장할 것인지가 가장 중요했던 문제다. 참고로 JavaScript 에서 배열끼리 비교를 한다면, 원하는 대로 되지 않을 것이다. 예를 들어, 다음과 같은 2차원 배열이 있다고 해보자. const a...

프로그래머스 Level 2 - 모음 사전 (JavaScript)

프로그래머스 - Level2 모음 사전 문제 설명 사전에 알파벳 모음 ‘A’, ‘E’, ‘I’, ‘O’, ‘U’만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 “A”이고, 그다음은 “AA”이며, 마지막 단어는 “UUUUU”입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가...

프로그래머스 Level 2 - 피로도 (JavaScript)

프로그래머스 - Level2 피로도 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 “최소 필요 피로도”와 던전 탐험을 마쳤을 때 소모되는 “소모 피로도”가 있습니다. “최소 필요 피로도”는 해당 던전을 탐험하기...

프로그래머스 Level 2 - 메뉴 리뉴얼 (JavaScript)

프로그래머스 - Level2 메뉴 리뉴얼 문제 설명 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다.기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 “...