분류 전체보기539 [Programmers] (2021 Dev-Matching: 웹 백엔드 개발자(상반기)) Lv 2. 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(rows, columns, queries) { const arr = [...Array(rows)].map((v, r) => [...Array(columns)].map((v, c) => r * columns + (c + 1)) ); // 먼저 2차원 배열에 값을 초기화한다. return queries.reduce((acc, querie) => { const [x1, .. 2023. 3. 15. [Daily Scrum] Meet 08. 2023-03-14 화요일 시간 : 22:00 ~ 22:30 진행 내용 : Todo list 공유, 내일 학습 계획 공유, 팀원간 소통 개인 학습 내용 : 프로그래머스 2문제(Lv. 2) 풀이 예비군 훈련과 회사 업무 대응으로 많이 공부하지 못했음. 2023. 3. 15. [Daily Scrum] Meet 07. 2023-03-13 월요일 시간 : 22:00 ~ 22:30 진행 내용 : Todo list 공유, 내일 학습 계획 공유, 팀원간 소통 개인 학습 내용 : 프로그래머스 2문제(Lv. 2) 풀이 다익스트라, 탐욕, 전체 탐색, 비트마스크 알고리즘 정리 2023. 3. 13. [Programmers] (2020 카카오 인턴십) Lv 2. 수식 최대화 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // 탐색을 통해 ["+", "-", "*"] 경우의 수 추출 const permutation = (operation, visited, priority, max, expression) => { if (operation.length === visited.filter((o) => o).length) { // 총 방문이 연산자 수 만큼 될 경우, const [tempExp, tempPrior] = [[.. 2023. 3. 13. [Programmers] Lv 2. 택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(order) { let [result, box] = [0, 1]; const stack = []; for (find of order) { while (true) { if (box === find) { ++box; break; } else if (stack.at(-1) === find) { stack.pop(); break; } else { if (box < ord.. 2023. 3. 13. [Algorithm] DFS (깊이 우선 탐색. Depth-first search) 그래프와 완전탐색 자료구조에서 말하는 그래프는 여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한다. 직접적인 관계가 있는 경우 두 점 사이를 이어주는 선이 있고, 간접적인 관계가 있는 경우 몇 개의 점과 선에 걸쳐 이어진다. 하나의 점을 정점(vertex)라고 표현하고 하나의 선은 간선(edge)라고 표현한다. 그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점들을 한 번씩 방문(탐색)하는 것이 목적이고 이를 완전탐색이라 부르기도 한다. 모든 정점 탐색 방법에는 여러 가지가 있다. 그 중 DFS가 있다. 위 그림과 같은 그래프가 있다고 가정하겠다. 이 그래프를 어떤 방법으로 완전 탐색하냐에 따라 방문하는 순서가 달라진다. DFS(Depth-First Search) 깊이 우선 탐색 루트.. 2023. 3. 13. [Algorithm] 완전 탐색 - 백트래킹(Backtracking), 깊이 우선 탐색(DFS. Depth-first search) 모든 경우의 수를 전부 고려하는 알고리즘 상태공간을 트리로 나타낼 수 있을 때 적합한 방식이다. 일종의 트리 탐색 알고리즘이라고 봐도 된다. 방식에 따라서 깊이우선탐색(Depth First Search, DFS)과 너비우선탐색(Breadth First Search, BFS), 최선 우선 탐색(Best First Search/HeuristicSearch)이 있다. 모든 경우의 수를 고려해야 하는 문제라면, DFS가 낫다. BFS로도 구현이 물론 가능하지만, BFS로 구현했다간 큐의 크기가, 심지어 속도도 똑같다. 따라서 경우의 수 구하기는 일반적으로 DFS가 편리하다. 대다수의 문제들은 DFS를 써도 일단 답은 나온다. - 나무 위키 - 백트래킹(Backtracking) 비선형으로 구성된 자료 구조를 깊이.. 2023. 3. 13. [Algorithm] BFS (너비 우선 탐색. Breadth-first search) 그래프와 완전탐색 자료구조에서 말하는 그래프는 여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한다. 직접적인 관계가 있는 경우 두 점 사이를 이어주는 선이 있고, 간접적인 관계가 있는 경우 몇 개의 점과 선에 걸쳐 이어진다. 하나의 점을 정점(vertex)라고 표현하고 하나의 선은 간선(edge)라고 표현한다. 그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점들을 한 번씩 방문(탐색)하는 것이 목적이고 이를 완전탐색이라 부르기도 한다. 모든 정점 탐색 방법에는 여러 가지가 있다. 그 중 BFS가 있다. 위 그림과 같은 그래프가 있다고 가정하겠다. 이 그래프를 어떤 방법으로 완전 탐색하냐에 따라 방문하는 순서가 달라진다. BFS(Breadth-First Search) 너비 우선 탐색 .. 2023. 3. 13. [Algorithm] 완전 탐색 - 브루트 포스(brute force), 너비 우선 탐색(BFS. Breadth-first search) 브루트 포스(brute force) brute: 무식한, force: 힘 무식한 힘으로 해석할 수 있다. 완전탐색 알고리즘. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져온다. 이 알고리즘의 강력한 점은 예외 없이 100%의 확률로 정답만을 출력한다. 일반적 방법으로 문제를 해결하기 위해서는 모든 자료를 탐색해야 하기 때문에 특정한 구조를 전체적으로 탐색할 수 있는 방법을 필요로 한다. 알고리즘 설계의 가장 기본적인 접근 방법은 해가 존재할 것으로 예상되는 모든 영역을 전체 탐색하는 방법이다. 선형 구조를 전체적으로 탐색하는 순차 탐색, 비선형 구조를 전체적으로 탐색하는 깊이 우선 탐색(DFS, Depth First Search)과 너비 우선 탐색(BFS, breadth.. 2023. 3. 13. [Algorithm] 탐욕 알고리즘 (Greedy Algorithm) 탐욕 알고리즘(Greedy Algorithm) Greedy는 ‘탐욕스러운, 욕심 많은’ 이란 뜻이다. 탐욕 알고리즘은 말 그대로 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법이다. 탐욕 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법이다. 탐욕 알고리즘은 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. 순간마다 하는 선택은 그 순간에 대해 지역적으로는 최적이지만, 그 선택들을 계속 수집하여 최종적(전역적)인 해답을 만들었다고 해서, 그것이 최적이라는 보장은 없다. 하지만 탐욕 알고리즘을 적용할 수 있는 문제들은 지역적으로 최적이면서 전역적으로 최적인 문제들이다. 탐욕 알.. 2023. 3. 13. 이전 1 ··· 30 31 32 33 34 35 36 ··· 54 다음