Don't be afraid of challenges
[프로그래머스] Lv.2 카펫 - js 본문
완전탐색
모든 경우의 수를 고려하는 탐색 알고리즘 ( 그냥 다찾는다고 보면 된다 )
단순, 비트마스크, 재귀함수, 순연, BFS/DFS 등이 있다.
완전 탐색 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

문제 이해하기
일단 문제에서 brown색 수, yellow색 수만 알고 있고 카펫의 width, height길이를 구해달라고 하고 있다.
문제를 이해해보고 규칙을 찾아보자!

문제를 읽고 알 수 있는 사실
1. brown이 yellow보다 차지하는 면적이 크다.
2. width와 height의 길이는 3이상이다.
3. width길이가 height길이보다 더 크다.
4. 위의 그림으로 봤을때 yellow 면적은 (width - 2)*(height-2)이다.
5. 전체면적은 brown + yellow 이다.
* 전체면적을 가지고 width나 height를 찾은 다음 나머지도 구한다. => 완전탐색
나의 풀이
function solution(brown, yellow) {
let sum = brown+yellow;
for(let h = 3; h<=brown; h++){
let w = sum / h; // w,h>=3
if((w-2)*(h-2) === yellow) return [w,h];
}
}
'이것이 코딩테스트다' 카테고리의 다른 글
| [프로그래머스] Lv.1 푸드 파이트 대회 - js (2) | 2024.04.30 |
|---|---|
| [프로그래머스] Lv.1 두 개 뽑아서 더하기-js (1) | 2024.04.29 |
| [프로그래머스] Lv.1 콜라문제 -js (0) | 2024.04.24 |
| [프로그래머스] Lv.2 이진변환 반복하기 -js (2) | 2024.04.23 |
| [프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 -js (0) | 2024.04.14 |