본문 바로가기
반응형

문제풀이/Programmers 문제풀이38

[ 알고리즘 ] 코딩 - 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.
반응형