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 |
Tags
- 자바스크립트 날씨
- [파이썬 실습] 기초 문제
- 프로그래머스
- 엘리스 AI 트랙 5기
- 프론트개발
- 자바스크립트 날씨 웹 만들기
- 자바스크립트
- leetcode
- 간단한 날씨 웹 만들기
- 날씨 웹 만들기
- [AI 5기] 연습 문제집
- JavaScript
- 코딩부트캠프
- 엘리스 ai 트랙
- 자바스크립트 sort()
- 리트코드
- 개발공부
- 자바스크립트 reduce()
- [파이썬 실습] 심화 문제
- HTML
- [파이썬 실습] 중급 문제
- 프론트개발공부
- 개발일기
- 자바스크립트 split()
- 코드스테이츠
- reactnativecli
- 엘리스
- RN 프로젝트
- 삼항연산자
- 부트캠프
Archives
- Today
- Total
개발조각
[프로그래머스] 카펫 본문
728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이번문제는 완전탐색 문제입니다.
해결방안
yellow는 안에, brown은 yellow를 싸매고 있고, brown과 yellow의 개수를 알고 있습니다.
이 말을 brown은 yellow를 싸매는 모양이니 카펫의 크기는 yellow의 가로+2, 세로+2가 되겠죠?
brown 24, yellow 24를 예시를 들자면
yellow 24칸으로 아래와 같이 총 4가지의 사각형 모양을 만들 수 있습니다.
- 1 * 24
- 2 * 12
- 3 * 8
- 4 * 6
이 4가지의 사각형모양의 가로, 세로 각각에 +2를 하고 yellow칸만큼 빼면 아래와 같이 나오고
brown의 값을 찾을 수 있습니다.
- (1+2) * (24+2) - 24 = 54
- (2+2) * (12+2) - 24 = 72
- (3+2) * (8+2) - 24 = 26
- (4+2) * (6+2) - 24 = 24
brown 24, yellow 24일 경우에는
"카펫의 가로길이는 세로 길이와 같거나, 세로 길이보다 길다."라는 조건이 있으니
가로 8, 세로 6이 됩니다.
소스코드
function solution(brown, yellow) {
var answer = [];
for(let i=1; i<=Math.round(yellow/2); i++){
if(!(yellow % i)){
let j= yellow/i;
let rest = (i+2)*(j+2)-yellow;
if(rest === brown){
answer = i>j ? [i+2, j+2] : [j+2, i+2]
break;
}
}
}
return answer;
}
728x90
반응형
'알고리즘🅰 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 멀리 뛰기 (0) | 2023.03.08 |
---|---|
[프로그래머스] 2 x n 타일링 (0) | 2023.03.07 |
[프로그래머스] 개인정보 수집 유효기간 (0) | 2023.02.02 |
[프로그래머스] 가장 큰 수 (0) | 2022.05.14 |
[프로그래머스] 영어 끝말잇기 (0) | 2022.05.12 |
Comments