본문 바로가기

반응형

프로그래머스/완전탐색

(8)
[완전탐색 & 트리] 프로그래머스 '전력망을 둘로 나누기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 푼 사람도 적은 정말 사악한 문제.. 나는 문제 보자마자 아 이건 알고리즘 개념을 알아야 풀 수 있겠다 싶어 구글링한 후 학습했다. 이 문제의 핵심은 n이 100까지라는 것이다 -> 종류가 적다?! -> 무조건 완탐으로 간다!!!! + '트리'가 나오면 방문한 노드를 체크하기 위해 큐를 써주는 것 같다. 큐를 사용할 때 중요한건?! 방문 여부 체크!! 방문 여부 체크를 안하면..
[완전탐색] 프로그래머스 '피로도' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드(부분 정답) 특정 케이스만 정답처리 되었다. 아마 최소 필요도, 소모 필요도 중 최소 필요도만 신경 쓴 로직이어서 그런 것 같다. 두 개 이상의 조건을 신경 써야 하는 경우에는 전부 다 확인해 줄 수 있도록 완전탐색을 이용해야 하나 보다. 애초에 if문의 조건이 문제인 것 같다. 하나의 던전만 방문하고 나머지 3개의 던전은 방문 못하는 케이스가 있는 경우..
[완전탐색] 프로그래머스 '카펫' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42842?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 갈색 카펫의 갯수 = (가로(i)+2) *2 + (세로(yellow/2) *2) 공식만 파악하면 쉽게 풀 수 있다. 노란 카펫의 갯수가 1일 경우에만 예외처리를 해주자. function solution(brown, yellow) { let width; let height; if(yellow === 1) return [3,3]; for(let..
[완전탐색] 프로그래머스 '소수 찾기' level 2 - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 순열 vs 조합?! 순열과 조합은 둘 다 서로 다른 n개에서 r개를 고르는 경우의 수를 말한다. 순열 : r개를 택할 때 순서대로 택하는 것 => (철원,민수)와 (민수,철원)은 다름 조합 : 순서와 관계없이 그냥 택하는 것 => (철원,민수)와 (민수,철원)은 같음 이 문제는 '17', '71' 등 만들 수 있는 조합에 따라 값이 달라지기 때문에 순열을 사용해야 한다! 알고..
[완전탐색] 프로그래머스 '모의고사' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(answers) { let answer = []; const one = [1, 2, 3, 4, 5]; const two = [2, 1, 2, 3, 2, 4, 2, 5]; const three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; let score = [0, 0, 0]; // 인덱스 번호가 0부터 시작하므로 인덱스 번호를 ..
[완전탐색] 프로그래머스 '최소직사각형' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(sizes) { let width = 0; let height = 0; for(let i=0;i width) width = sizes[i][0]; if(sizes[i][1] > height) height = sizes[i][1]; } return width * height; } 다른 사람의 코드) map을 사용할 때 구조분해할당이 될까? 의구심..
Brute Force(완전 탐색)이란? 완전 탐색이란? 가능한 모든 방법을 다 쓰는 탐색 방법 사용 방식 for/while loop -> 간단한 문제 해결 재귀함수(dfs) -> 복잡한 문제 해결 예시 소수 찾기 문제 https://www.youtube.com/watch?v=ZNa9-86uVEA
[완전탐색] 프로그래머스 '모음사전' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제 또한 모든 조합 가능한 단어를 만들어야하므로 완전탐색이다. fixed된 요소에 덧붙여나가는 유형이므로 당연히 dfs를 쓴다. dfs의 파라미터를 구성하는 방식을 잘 공부해야겠다. A,E,I,O,U AA,AE,AI,AO,AU,BB,BA... AAA,AAE,AAI... ... AEIOU 알파벳 정렬은 sort(), reverse()를 ..

반응형