본문 바로가기
반응형

전체 글183

프로그래머스 동적계획법(Dynamic Programming) 정수 삼각형 자바 https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 거쳐간 숫자의 최댓값을 구해야 하는데,위에서부터 밑으로 내려오면서 비교하면 복잡해진다. 어차피 최댓값 하나만 구하면 되기 때문에 밑에서부터 올라가면서 최댓값을 더해 마지막 꼭대기에 최댓값이 남도록 하자.  그럴려면 기존의 삼각형이 아닌,더한 값을 저장하는 빈 삼각형이 필요하다.빈 삼각형의 마지막 줄은 기존 삼각형과 동일하다. (베이스 동일) class Solution{ public int solution(int[][] triangle){ .. 2025. 3. 5.
프로그래머스 동적계획법(Dynamic Programming) N으로 표현 자바 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  1. HashSet 8개를 가진 ArrayList를 만들어준다.(HashSet은 중복을 불허한다.)각각의 HashSet 은 숫자 n 개로 만들 수 있는 값을 다 담고 있다. 5가 주어졌을 때 1개로 만들 수 있는 숫자들 = 5 2개로 만들 수 있는 숫자들 = 5 + 5 or 5 -5 or 5*5 or 5/5 or 553개로 만들 수 있는 숫자들= 1개로 만들 수 있는 숫자  ( + - * / ) 2개로 만들 수 있는 숫자            .. 2025. 3. 5.
프로그래머스 코딩테스트 연습 탐욕법(Greedy) 단속카메라 JAVA https://school.programmers.co.kr/learn/courses/30/lessons/42884#qna 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr import java.util.*;class Solution { public int solution(int[][] routes) { int answer = 0; //진출지점 오름차순 정렬 Arrays.sort(routes, (o1,o2) -> o1[1] - o2[1]); int tmp = 0; for(int i=0; i rou.. 2025. 3. 5.
코딩테스트 연습 탐욕법(Greedy) 섬 연결하기 JAVA 1. 메인 메서드  public int solution(int n , int[][] costs){ int answer = 0; //cost 오름차순 정렬 Arrays.sort(costs,(o1,o2 -> o1[2] - o2[2]); //부모 노드 초기화 int[] parent = new int[n]; for(int i=0; i 2. 크루스칼 메서드public static int kruskal(int[][] costs, int[] parent){ int cost = 0; for(int i = 0; i  3. x의 부모를 찾는 find 메서드public static int find(i.. 2025. 3. 4.
프로그래머스 코딩테스트 연습 탐욕법 구명보트 JAVA 문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.제한사.. 2025. 3. 4.
탐욕법 조이스틱 자바 import java.util.*;class Solution{ public int solution(String name){ int answer = 0; int len = name.length(); int move = len - 1; // 초기 값은 오른쪽으로 쭉 이동할 때의 값으로 잡음 for(int i=0; i  name = bcaad 일 때 i   bcaadb -> c -> b -> d 순서로 갈 수 있고, b -> d -> b -> c 순서로 갈 수 있는것? 그림으로 그려가면서 계산하기! 2025. 2. 25.
프로그래머스 탐욕법 체육복 자바 문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작.. 2025. 2. 25.
프로그래머스 코딩테스트 연습 완전탐색 모음사전 자바 문제 설명사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다.단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.제한사항word의 길이는 1 이상 5 이하입니다.word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다.입출력 예wordresult"AAAAE"6"AAAE"10"I"1563"EIO"1189입출력 예 설명입출력 예 #1사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA", "AAA", "AAAA".. 2025. 2. 24.
[코딩테스트 JAVA] 완전 탐색 - 소수 찾기 문제 설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.제한사항numbers는 길이 1 이상 7 이하인 문자열입니다.numbers는 0~9까지 숫자만으로 이루어져 있습니다."013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.입출력 예numbersreturn"17"3"011"2입출력 예 설명예제 #1[1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다.예제 #2[0, 1, 1]으로는 소수 [11, 101]를 만들 수 있습니다.11.. 2025. 2. 21.
[코딩테스트 JAVA] 피로도 문제 설명XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다.이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들을 .. 2025. 2. 21.
반응형