[알고리즘] 카펫

2022. 9. 3. 17:18·알고리즘
반응형

문제 설명

 

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.

Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.

Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.

 

 

제한사항

  • 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
  • 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
  • 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.

입출력 예

brown yellow return
10 2 [4, 3]
8 1 [3, 3]
24 24 [8, 6]

나의 풀이

const brown = 24;
const yellow = 24;

function solution(brown, yellow) {
  var answer = [];

  const arr = [];
  const total = brown + yellow;

  for (i = 1; i <= brown + yellow; i++) {
    if (total % i === 0 && i >= total / i) {
      arr.push([i, total / i]);
    }
  }

  for (const [x, y] of arr) {
    if (x * 2 + (y - 2) * 2 === brown) {
      return [x, y];
    }
  }

  return answer;
}

console.log(solution(brown, yellow));

 

테두리에 무조건 갈색으로 깔리기 때문에 약수를 모두 구해서 테두리로 사용 가능한 배열을 return 시켰다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[알고리즘] 피로도  (1) 2022.09.05
[알고리즘] 큰 수 만들기  (1) 2022.09.04
[알고리즘] H-Index  (2) 2022.09.02
[알고리즘] 다리를 지나는 트럭  (0) 2022.09.01
[알고리즘] 2 x n 타일링  (0) 2022.08.31
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 피로도
  • [알고리즘] 큰 수 만들기
  • [알고리즘] H-Index
  • [알고리즘] 다리를 지나는 트럭
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    타입스크립트
    webpack
    Node.js
    알고리즘
    react
    Babel
    바질
    리액트
    CCNA
    Docker
    네트워크
    식물
    프로그래머스
    CSS
    다이소
    ChatGPT
    리얼학습일기
    덤프
    영어회화
    next.js
    ReactNative
    바질 키우기
    자바스크립트
    리얼클래스
    redux
    javascript
    typescript
    타일러영어
    영어독학
    네이버 부스트캠프
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 카펫
상단으로

티스토리툴바