본문 바로가기
728x90

컴공생의 Knowledge60

[프로그래머스] 동적계획법 - N으로 표현 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 처음 문제를 풀게된 내용인 동적계획법(Dynamic Programming)의 문제 중 N으로 표현 문제 풀이를 해보겠습니다. 언어는 JavaScript를 활용하여 풀겠습니다. 동적계획법에 대한 문제는 프로그래머스에서 다음과 같이 설명하고 있습니다. 불필요한 계산을 줄이고, 효율적으로 최적해를 찾아야만 풀리는 문제들입니다. 효율적인 방법을 찾아 최적해를 찾는 과정으로 JavaScript를 통해 N으로 표현 문제 풀이를 시작하겠습니다. 프로그래머스 > 동적계획법(Dynamic Programming) > N으로 표현 문제 풀이 ▲ 문제 정보 문제명: N으로 표현 문제 난이도: Level 3 문제 푼 사람 수: 10140명 사용 가능 언어: 11개 (JavaScript 사용) ▲ 문제 설.. 2022. 8. 2.
깊이 우선 탐색(Depth First Search)을 알아보자 (feat.JS) 오늘은 바로 어제 알아봤던 너비 우선 탐색의 애인과 같은 길찾기 알고리즘인 깊이 우선 탐색(DFS)에 대해서 공부해보겠습니다. 먼저 너비 우선 탐색과 같이 깊이 우선 탐색(DFS: Depth First Search) 명칭의 의미를 확인해보겠습니다. 먼저 너비 우선 탐색을 보지 않으셨다면 먼저 보고 오시는걸 추천드립니다. 2022.07.31 - [컴공생의 Knowledge/Algoritm Notion] - 너비 우선 탐색(Breadth First Search)을 알아보자 (feat.JS) 너비 우선 탐색(Breadth First Search)을 알아보자 (feat.JS) 오늘은 바로 지난번에 풀었던 게임 맵 최단거리 문제 풀이에서 알고리즘으로 활용한 너비 우선 탐색(BFS)에 대해서 공부해보려 합니다. 먼.. 2022. 8. 1.
너비 우선 탐색(Breadth First Search)을 알아보자 (feat.JS) 오늘은 바로 지난번에 풀었던 게임 맵 최단거리 문제 풀이에서 알고리즘으로 활용한 너비 우선 탐색(BFS)에 대해서 공부해보려 합니다. 먼저 너비 우선 탐색(BFS: Breadth First Search) 명칭의 의미를 확인해보겠습니다. 혹시 지난 게임 맵 최단거리 문제 풀이가 궁금하신 분은 아래에 있는 이전 포스팅을 보고 오시기 바랍니다. 2022.07.29 - [컴공생의 Knowledge/Algoritm Solution] - [프로그래머스] 깊이/너비 우선 탐색 - 게임 맵 최단거리 문제 풀이 (feat.JS) [프로그래머스] 깊이/너비 우선 탐색 - 게임 맵 최단거리 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 오랜만에 깊이/너비 우선 탐색(DFS/BFS) 관련 문제 중 게임 맵 최단거리 문제.. 2022. 7. 31.
[프로그래머스] 깊이/너비 우선 탐색 - 게임 맵 최단거리 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 오랜만에 깊이/너비 우선 탐색(DFS/BFS) 관련 문제 중 게임 맵 최단거리 문제 풀이를 하려고 합니다. 최단거리 구하기에서 대표 알고리즘은 DFS와 BFS를 활용하여 문제 풀이 해보겠습니다. 프로그래머스 > 깊이/너비 우선 탐색(DFS/BFS) > 게임 맵 최단 거리 문제 풀이 ¿ 문제 정보 문제명: 게임 맵 최단거리 문제 난이도: Level 2 문제 푼 사람 수: 6646명 사용 가능 언어: 5개 (JavaScript 사용) ¿ 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 .. 2022. 7. 29.
[프로그래머스] 완전탐색 - 모음사전 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 완전탐색 문제 중 마지막 문제인 모음사전 문제 풀이를 JavaScript로 풀어보려고 합니다. 과연 모음사전 문제는 어떤 문제일지 정말 궁금합니다. 그럼 문제 풀이 시작해보겠습니다. 프로그래머스 > 완전탐색 > 모음사전 문제 풀이 「 」 문제 정보 문제명: 모음사전 문제 난이도: Level 2 문제 푼 사람 수: 4759명 사용 가능 언어: 8개 (JavaScript 사용) 「 」 문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사.. 2022. 7. 27.
[프로그래머스] 완전 탐색 - 최소직사각형 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 완전 탐색 문제 중 최소직사각형 문제 풀이를 JavaScript로 진행해보려고 합니다. 문제를 보지 않고 제목만 보고 문제를 유추할 수 있을 만큼 많이 접해볼 수 있는 문제 유형일 것으로 생각됩니다. 가로, 세로의 합을 주고, 최소 넓이를 가진 직사각형을 구하라와 유사한 문제가 아닐까 생각해보면서 문제 풀이 시작하겠습니다. 프로그래머스 > 완전 탐색 > 최소직사각형 문제 풀이 ♧ 문제 정보 문제명: 최소직사각형 문제 난이도: Level 1 문제 푼 사람 수: 11105명 사용 가능 언어: 8개 (JavaScript 사용) ♧ 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑.. 2022. 7. 26.
[프로그래머스] 완전탐색 - 전력망을 둘로 나누기 문제 풀이 (feat.JS) 오늘은 JavaScript로 프로그래머스에서 완전탐색 문제 중 전력망을 둘로 나누기 문제 풀이를 진행하도록 하겠습니다. 이번 문제의 특이사항은 문제명이 상당히 긴 편이라고 생각합니다. 그럼 전력망을 둘로 나누기 문제 풀이 시작해보겠습니다. 프로그래머스 > 완전탐색 > 전력망을 둘로 나누기 문제 풀이 ≪ 문제 정보 문제명: 전력망을 둘로 나누기 문제 난이도: Level 2 문제 푼 사람 수: 2713명 사용 가능 언어: 8개 (JavaScript 사용) ≪ 문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑.. 2022. 7. 24.
[프로그래머스] 완전탐색 - 피로도 문제 풀이(feat.JS) 오늘은 프로그래머스에서 완전탐색 문제 중 피로도 문제 풀이를 JavaScript로 진행해보려고 합니다. 완전탐색은 알고리즘이 정말 무식해보일정도로 모든 상황을 다 확인해야하지만 어떻게 구현하느냐에 따라 효율적인 해결책을 찾을 수 있을 것이라 생각합니다. 이번 피로도 문제 풀이도 정말 효율적인 해결책을 찾기 위해 재미있게 문제 풀이 시작해보겠습니다. 프로그래머스 > 완전탐색 > 피로도 문제 풀이 $ 문제 정보 문제명: 피로도 문제 난이도: Level 2 문제 푼 사람 수: 3681명 사용 가능 언어: 8개 (JavaScript 사용) $ 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해.. 2022. 7. 22.
[프로그래머스] 스택/큐 - 올바른 괄호 문제 풀이 (feat.JS) 오늘은 프로그래머스에서 스택/큐 문제 중 올바른 괄호 문제 풀이를 시작해보겠습니다. 올바른 괄호 문제는 문제명만 봤을 때 감이 오는 문제입니다. 역시 스택/큐 문제로 출제될만한 문제로, 괄호가 올바르게 되어있는지 유무를 판단하여 반환하는 알고리즘을 만드는 문제로 보입니다. 그럼 올바른 괄호 문제 풀이 해보러 가겠습니다. 프로그래머스 > 스택/큐 > 올바른 괄호 문제 풀이 ∋ 문제 정보 문제명: 올바른 괄호 문제 난이도: Level 2 문제 푼 사람 수: 12861명 사용 가능 언어: 7개 (JavaScript 사용) ∋ 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 º "()()" 또는 "(())()" 는 올바른 괄호입.. 2022. 7. 21.
728x90