[프로그래머스/java] 가장 큰 수 - Arrays.sort Comparator Override
https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 이 문제를 풀 때, 제일 먼저 생각했던 풀이 방법이 백트래킹(완전탐색) 이었다. 큰 고민 없이 주어진 배열에서 모든 수를 조합해서 도출해낼 수 있는 쉬운 결론이었다. MaximumNumber.java package maximumNumber; import java.util.Arrays; import ..
2022. 3. 2.
[프로그래머스/java] 카카오프렌즈 컬러링북 - 카카오 기출
https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 값이 0인 부분은 영역으로 카운트하면 안된다. 제일 넓은 영역을 구하는 것이므로 BFS를 사용하여 풀면 된다. package kakaoFriendsColoringBook; /** * https://programmers.co.kr/learn/courses/30/lessons/1829 * * 카카오프렌즈 컬러링북 - 카카오 기출 * * 값이 0인 부분은 카운트 하면 안..
2022. 2. 26.
[프로그래머스/java] 게임 맵 최단거리 - BFS 사용
https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 시작위치에서 목적지까지 최단거리를 구하는 문제는 무조건 BFS로 풀어야한다. 최단거리를 구하는 문제는 BFS 만한 것이 없다. import java.util.*; class Solution { int[] dy = {1, 0, -1, 0}; int[] dx = {0, 1, 0, -1}; boolean[][] v..
2022. 2. 25.
[프로그래머스/java] 최소 직사각형
https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 이번 문제는 Min, Max만 잘 써도 쉽게 풀리는 문제이다 문제 설명 중에 "가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기..
2022. 2. 23.