반응형

greedy 10

[Lv.1] 덧칠하기 [프로그래머스_코딩테스트] [Greedy, 구현] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krn이라는 구간에서 m만큼을 칠해가면서 section의 영역을 모두 칠하는게 목표인 문제🧠 나의 접근 방식과 시행착오Greedy 하기 생각해서 한쪽에서 칠해가는 방법을 생각했으나 다시 생각했을 때 양쪽에서 칠해야 겹치는 영역을 줄이지 않나란 생각에 코드가 복잡해졌다. 처음에는 그래서 right, left가 서로 엇갈리게 되면 빠져나오게 하는 형태로 잡았는데 몇개 테스트 케이스에서 틀린 답을 내고 있어서 모든 section 반복을 순회하기로..

[Lv.2] 전력망을 둘로 나누기 [프로그래머스_코딩테스트] [DFS, Greedy] [50분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr송전탑 노드가 숫자들로 주어질 때 각 숫자를 연결하는 wires라는 배열이 주어진다. (ex. [[1, 2], [2, 3], [3,4]]) 이 때 연결을 하나를 잘라서 2개의 연결로 나눴을 때, 나뉘어진 노드들의 개수의 차가 제일 적은 경우의 절대값을 구하기 🧠 나의 접근 방식과 시행착오사실 문제를 봤을 때 알고리즘에서 약한 DFS, BFS 문제란 걸 직감하고 틀릴 것 같긴 했지만 재귀를 쓴다는 DFS 방식을 알고 있어서 시도를 해보았다...

[Lv.2] 귤 고르기 [프로그래머스_코딩테스트] [Greedy, 정렬] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr수확한 귤 사이즈 별로 배열 (tangerine)이 주어질 때 귤 k개를 골라서 크기가 서로 같은 것을 최대로 해서 값을 구하는 문제🧠 나의 접근 방식과 시행착오풀이에 약 40분 정도 소요. 더 나은 자료구조를 생각해보려고 했다가 잘 쓰지 않던 SortedList 같은 것도 고민했으나 IComparer를 직접 구현해야 하는 부분이 있어서 시간 소요만 함.. 일단 Count를 size별로 체크한 뒤에 더 많은 개수부터 해서 내림차순으로 정..

[Lv.1] 예산 [프로그래머스_코딩테스트] [Greedy, 정렬] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr예산 금액인 budget이 주어지고 d 배열에 각 부서에서 신청한 금액을 정렬되지 않은 채로 전달받았을 때 최대 몇개의 부서에 지원을 할 수 있는지 계산 문제. 🧠 나의 접근 방식과 시행착오문제 푼 시간이 지금까지 봤던 문제들 중에 제일 빨랐던 10분. 해당 문제는 한정된 수치로 최대 몇개를 만들 수 있는지 얻어오는 문제로 작은 수부터 큰 숫자로 올림차순 정렬을 시키고 예산에서 빼면서 count를 증가시키면 된다. 문제의 길이에 비해서 오..

[Lv.3] 섬 연결하기 [프로그래머스_코딩테스트] [MST, Greedy, UnionFind, Kruskal]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr해당 문제는 각 섬을 하나로 연결하는 최소 비용을 구하는 문제로 costs는 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 와 같은 식으로 주어지고 n개의 섬을 연결해야 한다. (cost는 섬 1, 섬 2, 비용 이런식으로 3개의 데이터가 하나의 묶음으로 연결) 🧠 나의 접근 방식과 시행착오일단 익숙치 않았던 MST 문제를 해결하는 거에 대해서 시간이 걸려서 해결은 역시 제대로 안 된 상태. 필자가 푸..

[Lv.3] 야근 지수 [프로그래머스_코딩테스트] [Greedy]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 근무 시간인 Works가 int 배열로 주어지고 n이라는 근무 시간이 주어질 때 야근 시간은 works에서 근무시간을 뺀 후 남은 시간들을 제곱한 시간의 합으로 구한다고 한다. 야근이 최소시간이 될 때의 값을 구하면 된다. 🧠 나의 접근 방식과 시행착오제곱을 한 수의 합이 가장 작은 것은 어떻게 구하느냐로 접근해야 한다. 먼저 생각했던 방식은 사실 큰수를 최대한 줄이는 거가 맞지?라는 거는 생각을 했다. 그것을 풀이로 했을 때 ..

[Lv.2] 무인도 여행 [프로그래머스_코딩테스트] [BFS, Greedy]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제는 string 배열이 주어지고 한 단어가 해당 인덱스 지점의 음식 수치를 나타낸다. X는 음식이 없는 상태. 그런 상황에서 상하좌우에 붙어 있는 지점에 음식 수치의 합들을 구해서 answer 배열에 넣고 오름차순으로 정렬시키는 문제 🧠 나의 접근 방식과 시행착오일단 생각보다 시간이 오래 걸리긴 했었다. (GPT에게 물어봤을 때 제한 시간을 약 40분을 잡고 있는 듯 하나 이래저래 생각하다 보니 1시간 정도가 걸린 해결 방법..

[Lv.2] 조이스틱 [프로그래머스_코딩테스트] [Greedy]

🔍 문제 요약문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제에서 주어진 대문자 알파벳으로만 이루어진 문장을 조이스틱을 커서처럼 좌우 위아래로 이동해서 알파벳을 조정하여 가장 빠르게 해당 문장과 동일하게 만드는 최적의 이동 수치 찾기🧠 나의 접근 방식과 시행착오먼저 생각했던 방법은 아래 코드처럼 위아래 이동에 먼저 포커스를 맞춰서 Count 계산을 시켰다. 첫 번째 문제의 핵심인 위아래 이동에서 문제의 핵심은 위로 가는 경우와 아래로 가는 경우 중 더 이동횟수가 작은 경우..

[Lv.1] 체육복 [프로그래머스_코딩테스트] [Greedy]

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krusing System;using System.Collections.Generic;using System.Linq;public class Solution{ /// /// 체육복 /// https://school.programmers.co.kr/learn/courses/30/lessons/42862 /// public int solution(int n, int[] lost, int[] reserve) { ..

[Lv.2] 큰 수 만들기 [프로그래머스_코딩테스트] [Greedy, Stack]

https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr using System;using System.Collections.Generic;public class Solution{ /// /// 큰 수 만들기 /// https://school.programmers.co.kr/learn/courses/30/lessons/42883 /// public string solution(string number, int k) { var numberStack = n..

반응형