이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

[프로그래머스]-최소 직사각형

  • 2022.12.28 13:20
  • Algorithm/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/86491

 

프로그래머스

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

programmers.co.kr

 

 

1.문제

 

2. 풀이

모든 명함을 넣을 수 있는 가장 작은 지갑을 만드는 게 이 문제의 핵심입니다.

처음에는 브루트 포스 개념을 떠올려서 모든 경우의 수를 다 고려해야 하지 않을까 하는 마음으로 접근했었는데, 막상 해결하고 나니 너무나도 단순하게 풀려서 허무함이 느껴졌습니다. 

 

명함이 회전할 수 있다는 개념을 잘 응용해야 합니다. 

가로와 세로를 비교했을 때 두 변중에서 긴 부분을 가로로 설정하고 작은 부분을 세로로 설정하면 됩니다.

 

   변경전        변경후

     60 50   =>  60 50

     30 70   =>  70 30

     60 30   =>  60 30

     80 40   =>  80 40

 

그 다음 가로와 세로의 길이가 모두 들어맞도록, 가로의 최대 길이와 세로의 최대 길이를 정해서 진행해주시면 됩니다.

 

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
32
33
34
35
36
37
 
public class Solution {
    public int solution(int[][] sizes) {
        int answer = 0;
        int max_width = 0;                  // 가로
        int max_height = 0;                 // 세로
 
        for (int i = 0; i < sizes.length; i++) {
            int width = Math.max(sizes[i][0], sizes[i][1]);
            int height = Math.min(sizes[i][0], sizes[i][1]);
 
            max_width = Math.max(max_width, width);
            max_height = Math.max(max_height, height);
        }
 
        answer = max_width * max_height;
 
        return answer;
    }
}
 
Colored by Color Scripter
cs

'Algorithm > 프로그래머스' 카테고리의 다른 글

[프로그래머스]-K번째수  (0) 2022.12.30
[프로그래머스]카펫  (0) 2022.12.28
[프로그래머스]부족한 금액 계산하기  (0) 2022.12.27
[프로그래머스]2016년  (0) 2022.12.23
[프로그래머스]콜라츠 추측  (0) 2022.12.13

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [프로그래머스]-K번째수

    [프로그래머스]-K번째수

    2022.12.30
  • [프로그래머스]카펫

    [프로그래머스]카펫

    2022.12.28
  • [프로그래머스]부족한 금액 계산하기

    [프로그래머스]부족한 금액 계산하기

    2022.12.27
  • [프로그래머스]2016년

    [프로그래머스]2016년

    2022.12.23
다른 글 더 둘러보기

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 주간에세이
  • java
  • 자바 변수
  • git commit
  • 클린코드
  • 자바 기초
  • 자료구조
  • 개발자 현실

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바