본문 바로가기
반응형

프로그래머스35

[ 알고리즘 ] 코딩 - Programmers - 가장 큰 정사각형 찾기.java 문제 링크 programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr * Programmers - level 2 - (자바)가장 큰 정사각형 찾기 - DP * 처음에는 for문을 이용해서 전체 순회해서 가장 큰 정사각형을 찾는 방식으로 하려고 했다. * 하지만.. 보통일이 아니었고, 효율성이 정말이지 바닥을 쳤다. * 결국 찾아보니 세상에나 이 문제는 DP 문제였던 것이다!!! 1. 기준점에서 왼쪽 / 위쪽 / 왼쪽 대각선 위 의 현재 숫자를 본다 2. 0이 아니라면 3방향 중 최소인 숫자 + 1을 하고 저.. 2020. 12. 17.
[ 알고리즘 ] 코딩 - Programmers - 단속카메라.java 문제 링크 programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr * Programmers - Level 3 - 탐욕 법(Greedy) - (자바) 단속카메라. java 사용한 로직! * 진입구간과 진출구간을 기준으로 차량을 모두 나누어 생각 * 진입구간을 내림차순 정렬. (정렬은 유선 순위 큐(PriorityQueue를 이용) * 현재 설치된 카메라가 구간 안에 없다면 진입하는 위치에 설치 * 현재 설치된 카메라가 구간안에 있다면 다음 자동차로 넘어감 * 지금 설치하는 카메라의 위치가 최선의 위치라 믿고 넘어가는 탐욕 법(Greedy.. 2020. 12. 16.
[ 알고리즘 ] 코딩 - Programmers - 가장 큰 수.java 문제 링크 programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr * Programmers - Level 2 - (자바) 가장 큰 수 - 정렬 * 1000보다 작은 수라고 해서 자릿수를 비교해가며 하면 쉽게 풀리겠다!! 하고 접근했다가 완전 피 본 문제!! * 자리수 비교를 하다 보면 이거 아닌데.. 하는 생각이 든다. 그때 빨리 턴 해야 한다!! * 사용한 로직 *.. 2020. 12. 16.
[ 알고리즘 ] 코딩 - Programmers - 구명보트.Java programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr * Programmers - Level 2 - 구명보트.java * 최대 2명의 사람만 탈 수 있음 * 아래와 같은 로직! * 우선 people을 정렬한다. * 정렬된 배열을 가지고 가장 가벼운 사람이 있는 index와 가장 무거운 사람이 있는 index를 가지고 * 탐욕(Greedy)알고리즘을 이용해서 해결했다. * 가장 무거운 사람이 다른 사람과.. 2020. 12. 15.
[ 알고리즘 ] 코딩 - Programmers - 큰 수 만들기 * Programmers - Level 2 - 큰 수 만들기 * number 숫자열에서 k개의 수를 제거하고 남은 수 중 가장 큰 수를 찾는 문제 * number의 자릿수가 무려 100만 자리. 1,000,000 보다 작은 수가 아니다!! 주의하자 * 자리수인거 인지 못하고 작은 수라고 생각하고 코딩하면 런타임 에러가 발생한다. * Deque를 사용했고 숫자를 제거할때는 stack을 이용, 출력할때는 Queue를 썼다. * 아래와 같은 로직으로 구현했다. import java.util.Deque; import java.util.LinkedList; class Solution { private static StringBuilder resMax; public String solution(String numb.. 2020. 12. 14.
반응형