Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기능개발
- 주식
- heap
- Data Structure
- 깊이우선탐색
- react-native
- 다리를 지나는 트럭
- 소수찾기
- sorting
- 이중우선순위큐
- 타겟 넘버
- 넓이우선탐색
- Stack
- Javascript
- 더 맵게
- Brute Force
- 완주하지 못한 선수
- k번째수
- react-native-navigation
- 전화번호 목록
- Queue
- react-native bind
- Algorithm
- hash
- Virtual DOM
- 디스크 컨트롤러
- Programmers
- react
- 가장 큰 수
- browser workflow
Archives
- Today
- Total
개발 블로그
[프로그래머스/Javascript/Brute Force] 카펫 본문
Brute force1. 문제 설명(출처: programmers.co.kr/learn/courses/30/lessons/42842)
2. 문제 해결 방안
- 카펫의 가로 크기를 x, 카펫의 세로 크기를 y라고 가정하자.
- 갈색부분은 사각형의 둘레임으로 가로를 2x(두개의 가로) + 2y(두개의 세로) - 4(곂치는 부분) = brown 이라는 공식이 성립한다.
- 노란 부분은 문제에서 힌트를 얻을 수 있다. 문제에서 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. 라고 하였다. 여기에서 테두리는 1줄 뿐임으로 명확히 했으니 노란 사각형의 넓이는 (x-2) X (y - 2) 가 됨을 알 수있다. (-2는 카펫의 상하, 좌우의 테두리를 의미한다.)
- 위 두 공식을 하나의 변수로 합치면 (y-2) X (brown/2 - y) = yellow 라는 공식이 성립한다.
3. 문제 풀이
1) (y-2) X (brown/2 - y) = yellow를 만족하는 y값을 찾기 위해 y값으로 쓸 변수 i를 선언한다. 문제에서 노란색 격자의 수 yellow는 1 이상이라고 하였으니 상하의 테두리를 합치면 y의 최솟값은 3이 된다.
2) (i-2) X (brown/2 - i) = yellow를 만족하는 i 를 찾기 위해 반복문을 수행하며 조건에 맞는 i값을 찾는다.
3) i를 바탕으로 x와 y를 계산해 반환한다.
4. 결과 코드
function solution(brown, yellow) {
var i = 3;
while((i - 2)*(brown/2 - i) !== yellow){
i++
}
return [brown/2 - i + 2, i];
}
'IT > Programmers' 카테고리의 다른 글
CSR vs SSR vs SPA (0) | 2021.09.27 |
---|---|
[프로그래머스/Javascript/Brute Force] 소수 찾기 (0) | 2021.04.13 |
[프로그래머스/Javascript/Brute Force] 모의고사 (0) | 2021.04.12 |
[프로그래머스/Javascript/Hash] 베스트앨범 (0) | 2021.04.12 |
[프로그래머스/Javascript/Hash] 위장 (0) | 2021.04.11 |