[프로그래머스 자바스크립트] ‘최소직사각형’ 풀어보기

2024. 8. 7. 17:38·Algorithm/Programmers(JavaScript)

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/86491

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


1. 나의 코드

function solution(sizes) {
    var arr1 = [];
    var arr2 = [];
    
    for(let card of sizes) {
        if(card[0] < card[1]) {
            card = [card[1], card[0]]
        }
        
        arr1.push(card[0]);
        arr2.push(card[1]);
    }
    const arr1Max = Math.max(...arr1);
    const arr2Max = Math.max(...arr2);

    console.log("arr1Max: " + arr1Max);
    console.log("arr2Max: " + arr2Max);
    return arr1Max * arr2Max;
    
    
}
  1. arr1 배열과 arr2 배열을 생성한다.
  2. sizes 배열을 순회한다.
    1. 가로 길이가 세로 길이보다 작다면 둘을 뒤바꾼다.
    2. arr1에 가로 길이를, arr2에 세로 길이를 push한다.
  3. arr1 배열에서 최댓값을 arr1Max에, arr2 배열에서 최댓값을 arr2Max에 할당한다.
  4. arr1Max와 arr2Max를 곱한 값을 return한다.

명함은 회전할 수 있기 때문에, 가로를 두 변 중에서 더 긴 부분, 세로를 두 변 중에서 더 짧은 부분으로 기준을 설정해서 비교했다.


2. 다른 사람의 풀이

function solution(sizes) {
    const rotated = sizes.map(([w, h]) => w < h ? [h, w] : [w, h]);

    let maxSize = [0, 0];
    rotated.forEach(([w, h]) => {
        if (w > maxSize[0]) maxSize[0] = w;
        if (h > maxSize[1]) maxSize[1] = h;
    })
    return maxSize[0]*maxSize[1];
}

나의 풀이와 푸는 법은 똑같지만, map, 삼항연산자, forEach를 활용한다는 점이 차이점이다.

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

'Algorithm > Programmers(JavaScript)' 카테고리의 다른 글

[프로그래머스 자바스크립트] ‘올바른 괄호’ 풀어보기  (0) 2025.01.07
[프로그래머스 자바스크립트] ‘입국심사’ 풀어보기  (0) 2024.12.31
[프로그래머스 자바스크립트] ‘K번째수’ 풀어보기  (0) 2024.08.07
[프로그래머스 자바스크립트] ‘구명보트’ 풀어보기  (0) 2024.08.07
[프로그래머스 자바스크립트] ‘체육복’ 풀어보기  (0) 2024.08.07
'Algorithm/Programmers(JavaScript)' 카테고리의 다른 글
  • [프로그래머스 자바스크립트] ‘올바른 괄호’ 풀어보기
  • [프로그래머스 자바스크립트] ‘입국심사’ 풀어보기
  • [프로그래머스 자바스크립트] ‘K번째수’ 풀어보기
  • [프로그래머스 자바스크립트] ‘구명보트’ 풀어보기
퀵차분
퀵차분
웹 프론트엔드 개발자를 꿈꾸고 있습니다 :)
  • 퀵차분
    QC's Devlog
    퀵차분
  • 전체
    오늘
    어제
    • 분류 전체보기 (165)
      • Frontend (28)
        • HTML, CSS (7)
        • Javascript (3)
        • React (11)
        • Typescript (2)
        • Next.js (4)
      • Node.js (3)
      • Study (40)
        • Modern JS Deep Dive (13)
        • SQL (1)
        • Network (1)
        • 프롬프트 엔지니어링 (4)
        • 인공지능 (9)
        • 시스템프로그래밍 (11)
        • 선형대수학 (1)
      • Intern (4)
      • KUIT (20)
      • Algorithm (48)
        • Baekjoon(C++) (26)
        • Programmers(JavaScript) (22)
      • 우아한테크코스(프리코스) (4)
      • Project (7)
        • PROlog (4)
        • Nomadcoder (2)
      • 생각 (4)
      • Event (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프론트엔드
    typescript
    오블완
    백준
    음악추천
    인공지능
    react
    리액트
    프로그래머스
    티스토리챌린지
    HTML
    타입스크립트
    프롬프트 엔지니어링
    시스템프로그래밍
    next.js
    KUIT
    javascript
    알고리즘
    프로그래머스 자바스크립트
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
퀵차분
[프로그래머스 자바스크립트] ‘최소직사각형’ 풀어보기
상단으로

티스토리툴바