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
- ReactJS로 영화 웹 서비스 만들기
- Array
- SoftwareExpertAcademy
- React.js
- 프로그래머스
- HashMap
- 달빛클럽1기
- JPA
- 재귀
- 자바
- React
- dfs
- 달빛클럽
- 카카오블라인드코딩테스트
- BOJ
- 완전탐색
- programmers
- Algorithm
- 노마드코더 강의
- 달빛클럽 1기
- 달빛캠퍼스
- 리액트
- 알고리즘
- 인플레이션에서 살아남기
- 경제공부
- Java
- SWEA
- Stack
- 노마드코더
- 백준
Archives
- Today
- Total
th42500의 TIL
[Java] 완전탐색 - 최소 직사각형 (Lv1) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/86491
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✔ 입출력 예시
💡 포인트
1️⃣ 다양한 모양과 크기의 명함들을 모두 수납할 수 있는 지갑의 크기를 구해야 함
2️⃣ 명함은 가로로 눕혀서 수납하거나 세로로 수납할 수 있음
❓ 풀이과정
1️⃣ 지갑의 가로와 세로의 길이를 담을 변수 생성
2️⃣ sizes배열을 탐색하면서 각 배열의 0번째 값과 1번째 값을 비교
3️⃣ 더 짧은 쪽의 길이를 width와 비교, 더 긴 쪽의 길이를 height과 비교하여 각 변수 초기화
(더 긴 쪽의 길이를 height으로, 더 짧은 쪽의 길이를 width로 담아도 ⭕)
4️⃣ width*height 으로 지갑의 크기 구하기
❗ 결과
👉 테스트 통과
✔ 소스코드
public class Solution { // 최소 직사각형
public static void main(String[] args) {
int[][] sizes = { { 60, 50 }, { 30, 70 }, { 60, 30 }, { 80, 40 } };
// int[][] sizes = {{10, 7}, {12, 3}, {8, 15}, {14, 7}, {5, 15}};
// int[][] sizes = {{14, 4}, {19, 6}, {6, 16}, {18, 7}, {7, 11}};
System.out.println(solution(sizes));
}
private static int solution(int[][] sizes) {
int answer = 0;
// 1. 가로와 세로 변수 생성
int width = 0; // 작은 수 담기
int height = 0; // 큰 수 담기
// 2. sizes 배열 탐색
for (int i = 0; i < sizes.length; i++) {
// 3. 더 짧은 쪽의 길이를 width와 비교, 더 긴 쪽의 길이를 height과 비교하여 각 변수 초기화
if(sizes[i][0] <= sizes[i][1]) {
width = Math.max(width, sizes[i][0]);
height = Math.max(height, sizes[i][1]);
}else {
width = Math.max(width, sizes[i][1]);
height = Math.max(height, sizes[i][0]);
}
}
// 4. 지갑의 크기 구하기
answer = width * height;
return answer;
}
}
문제를 잘 읽어보았다면 쉽게 풀 수 있었던 문제😁
'Algorithm > Programmers' 카테고리의 다른 글
[Java] 2022 KAKAO TECH INTERNSHIP - 두 큐 합 같게 만들기 (0) | 2022.08.30 |
---|---|
[Java] 2022 KAKAO TECH INTERNSHIP - 성격 유형 검사하기 (0) | 2022.08.29 |
[Java] 2018 KAKAO BLIND RECRUITMENT - [1차] 뉴스 클러스터링 (Lv2) (0) | 2022.08.05 |
[Java] 완전탐색 - 모의고사(Lv1) (0) | 2022.08.04 |
[Java] 완전탐색 - 피로도 (Lv2) (0) | 2022.08.04 |
Comments