https://programmers.co.kr/learn/courses/30/lessons/12927처음에는 works중에서 가장 큰 수를 찾아 그 일을 하게 되면 야근 피로도를 최소화 할 수 있다고 생각하고 접근하였다결과는... 효율성에서 실패혹시... ma
https://programmers.co.kr/learn/courses/30/lessons/42861크루스칼 알고리즘이 떠올라서 구현을 해 보았다.결과는 성공!크루스칼 알고리즘은 이전에 정리를 해 놓았던게 있었다.https://gilmatnote.ti
처음에 dfs로 풀었는데 틀렸다는 결과가 나왔다.결국 해설을 보고 차이를 찾아보기로 했다.https://copy-driven-dev.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A
처음 문제를 봤을때는 왜 이분탐색이지? 고민을 좀 하였다.일단, 입력데이터가 1,000,000,000인 수가 있으므로 완전탐색을 진행하면 바로 시간초과가 날 것이라고 판단하였다.심지어 1,000,000,000 \* 1,000,000,000이라는 수가 저장이 될까도 고민
https://programmers.co.kr/learn/courses/30/lessons/42884 겹치는게 제일 많은 구간부터 카메라를 설치하면 되지 않을까 해서 dictionary로 구현하여 풀었지만 결과는 시간초과... 일단, 코드가 너무 복잡하고 데이터를
https://www.acmicpc.net/problem/2437탐욕문제는 아이디어 싸움이라서 어렵다...처음에는 combination으로 부르트포스 방식으로 접근하였다가 실패탐욕적인 방법으로 풀은 과정은 다음과 같다.1️⃣ 숫자들을 list로 관리 후 오름
https://www.acmicpc.net/problem/17151️⃣ 결국에는 최소값을 구하는 문제였음으로 탐욕적으로 카드 뭉치에서 계속 최소 개수의 카드뭉치를 2개 뽑아서 더해주워 카드 뭉치수의 수를 줄이고 카드 뭉치가 1일 때까지 반복하여 누적값을 산출하
https://www.acmicpc.net/problem/13391️⃣ 알파벳마다 1로 일단 설정을 해 두워 합의 결과 시 해당 알파벳으로만 나올 수 있는 결과를 도출2️⃣ 결과가 가장 큰 것부터 9부터 0까지 알파벳에 숫자를 부여하면 해당 결과값도 최대가
https://www.acmicpc.net/problem/95761️⃣ 탐욕 알고리즘의 사용2️⃣ 각 사람이 원하는 범위중 최대 번호의 순으로 오름차순으로 정렬3️⃣ 범위를 순회하며 부여할 수 있는 책의 최소번호마다 책을 줌
https://www.acmicpc.net/problem/129041️⃣ 길이가 짧은 문자열을 만들어서 긴 문자열을 방법을 모두 고려하면 시간복잡도는$O(2^n)$임으로 이 방법은 좋은 방법이 아니다.2️⃣ 거꾸로 생각하여 긴 문자열을 짧은 문자열을 만드는 방
https://www.acmicpc.net/problem/107751️⃣ 번호가 큰 자리부터 먼저 채워 넣는다.2️⃣ 만약 자신이 앉을 수 있는 가장 큰 번호의 자리가 차있다면 union-find알고리즘을 이용해 차선책으로 큰 자리수를 구하고 그 자리에 배정을
https://www.acmicpc.net/problem/17441️⃣ 0, 1숫자를 유심히 고려 해 보아야 한다.0은 곱해주면 음수를 제거 할 수 있는 수로 사용이 가능1은 양수와 곱해주면 오히려 값이 줄어듬으로 그냥 있는 수대로 더해주는 것이 최대이다.이에
https://www.acmicpc.net/problem/12021️⃣ 가방의 크기가 작은 것부터 탐색하고 그 중에서 보석이 가장 큰 것을 골라 택한다.(가방의 크기가 클 수록 선택권이 많아지니깐 적은 것 부터)2️⃣ 보석의 무게가 작은 것 부터 선택할 수 있
✔️ 문제 링크 https://www.acmicpc.net/problem/2812 💡 핵심 아이디어 1️⃣ 스택구조와 탐욕기법을 사용 2️⃣ 왼쪽자리에 있는 수 부터 스택에 넣어주며 새로 넣어주는 수보다 큰 수가 스택 top 부분에 있을 때 까지 스택에서 수를 비워
https://www.acmicpc.net/problem/31091️⃣ dfs로 그래프를 순회2️⃣ 탐욕적으로 출발점은 위에서 아래로 고려하고 이동 방향은 오른쪽 위, 오른쪽, 오른쪽 아래 순으로 고려하여 서로 경로가 겹치지 않게, 이미 한번 순회를 했던 곳은
https://www.acmicpc.net/problem/19311️⃣ 끝나는 시간을 오름차순, 시작 시간을 오름차순으로 정렬2️⃣ 배정 시간을 순회하며 배정하고 새로 배정시킬 회의실 시작시간이 이미 배정된 회의실 끝나는 시간보다 크면 회의실을 배정1️⃣ 시작
https://www.acmicpc.net/problem/133051️⃣ 가는 길은 하나밖에 없음으로 가는 길 마다 기름이 싼 도시에서 더 기름이 싼 도시까지 가지 위해 기름을 충전하는 것이 가장 싼 가격에 목적지까지 갈 수 있는 방법이다.
https://www.acmicpc.net/problem/22121️⃣ 기지국을 어디든 놓게 되어도 수신 가능 영역은 센서간의 가장 가까운 거리들의 합으로 구해지게 된다.2️⃣ K개의 구역으로 나눠 기지국을 설치하는데 이때, 그룹간 거리는 고려하지 않는 점을
https://www.acmicpc.net/problem/139041️⃣ 과제 점수가 높은 과제부터 고려를 시작2️⃣ 최대한 늦게 늦게 끝낼 수 있는 과제를 최대한 늦은 날짜에 끝내도록 한다. (날짜마다 수행한 과제는 scores배열에 저장)
https://www.acmicpc.net/problem/89801️⃣ 받는 마을 순으로 오름차순(1번 마을부터 가까운 마을부터 박스를 옮겨나름)2️⃣ 보내는 마을과 받는 마을을 고려하여 현재 마을에서 얼마만큼의 박스를 담고 있는지 정보를 갱신하며 담을 수 있
https://www.acmicpc.net/problem/110001️⃣ 강의 시작시간을 오름차순으로 정렬 후 시작 시간이 빠른 순서대로 끝나는 시간을 heapq에 넣어준다.2️⃣ 다음 강의를 고려 시 현재 진행되고 있는 강의의 끝나는 시간들 중 가장 작은 수
https://www.acmicpc.net/problem/10921️⃣ 매 시간마다 가장 무거운 박스를 들 수 있는 크레인 순으로 가장 무거운 박스부터 나른다.2️⃣ 나른 박스는 리스트에 제거하며 시간 절약을 위해 크레인 배열과 박스 배열을 내림차순 정렬후 리
https://programmers.co.kr/learn/courses/30/lessons/765021️⃣ 문자열을 deque에 넣은 다음 한 회차씩 수행할 때 마다 문자열을 뒤로 미룸2️⃣ 올바른 문자열인지 파악할 때 스택 구조를 이용하고 현재 들어가는 문자
https://www.acmicpc.net/problem/2580Brute Force방식으로 생각 할 시 $9^{81}$임으로 백 트레킹 방식으로 고려현재 넣으려고 하는 수를 3가지 조건관점에서 넣을 수 있는지 고려(수평, 수직, 정사각형)처음 게임판에서 비어