본문 바로가기
728x90
반응형

코딩테스트179

[프로그래머스/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] 괄호 회전하기 - Stack 사용 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr Stack을 이용하면 쉽게 풀 수 있다. 마지막에 Stack이 비어있는지 아닌지 확인해 줘야한다. package bracketRotate; /** * https://programmers.co.kr/learn/courses/30/lessons/765023 * * 괄호 회전하기 * * Stack을 이용하여 풀면 쉽게 풀린다. * * 마지막에 stack 안에 값이 있는지 확인해주어야 한다. */ import java.util.Stack; public class BracketRotate { public static void main(String[.. 2022. 2. 26.
[프로그래머스/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/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 이 문제는 유클리드 호제법 공식을 써야한다. 유클리드 호제법 공식 1 int gcd(int a, int b) { int c; while(b) { c = a % b; a = b; b = c; } return a; } 유클리드 호제법 공식 2 public static int gcd(int p, int q) { if (q == 0) retu.. 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.
728x90
반응형