알고리즘 47

99클럽 코테 스터디 24일차 TIL 가장 먼 노드

https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  1. 문제 및 접근 n개의 노드가 있는 그래프 각 노드는 1번부터 번호대로1번부터 가장 멀리 떨어 노드의 갯수를 구하라이 말은 노드가 최단경로로 이동 했을 때 간선의 갯수가 가장 많은 노드 dfs로 구현하면 될 것 같은데 방문여부를 판단하고, 현재 노드에서 움직였는데다시 돌아오는 노드가 있다면 ? check로 확인 ?근데 다른 경로로 출발해도 만나게 되는 노드가 어디서 출발하냐에 따라 달라지는데 이..

알고리즘 2024.06.12

99클럽 코테 스터디 23일차 TIL Capacity To Ship Packages Within D Days

https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/submissions/1284860195/  1. 문제 및 접근  다른 항구로 며칠 내 배송할 패키지i번째는 weight[i]의 무게를 가짐 순서대로 , 최대무게초과 x주어진 day 안 모든 패키지 보내기 위해 필요한 배의 최소 무게를 반환 주어진 day 안에 보내려면 하루에 몇개씩 묶어보내야 하나 ?하루에 몇개 씩 보낼 지 정했다면 최소한의 무게를 찾기 위해순서대로 싣을 수 있네무게 범위를 탐색 이진 탐색으로 탐색한다고 하면 최악의 경우에 아무 것도 안 보내는 건 너무 말도 안되니까들어온 배열의 크기를 데이만큼만 나누고 큰거 두개씩 ? 최악의 경우 선정    50,000 일500..

알고리즘 2024.06.11

99클럽 코테 스터디 22일차 TIL 입국심사

https://school.programmers.co.kr/learn/courses/30/lessons/43238      1. 문제 및 접근  들어 오는 수가 너무 말이 안되긴 하다. 각각의 심사관 마다 line안에 집어넣는데 기다리는 순은어딜 고를거냐 ? 무조건 times가 작은 곳이 아닌(누적x) , 다 듣는 시간까지 고려 해야하기 때문에 현재 바로 듣는다고 해서 더 빨리 마치는 게 아니네그럼 고려할 사항이 다 들었을 때 짧은 시간을 계산해야한다매번 어느 것이 더 빨리 끝날 것인지 찾는 고려 사항이 지금 현재 시간에서 아직 끝나지 않은 것도 몇분 후에 끝나는 지 + 심사관이 걸리는 시간이걸 근데 마지막 수만 생각하면 안되고, 그 어느 시점에 되면 다 고려해야할 것 같다. 아예 틀렸다 문제는 이진탐색..

알고리즘 2024.06.10

99클럽 코테 스터디 21일차 TIL Count Square Submatrices with All Ones

https://leetcode.com/problems/count-square-submatrices-with-all-ones/description/  1. 문제 및 접근  0 or 1의 수가 주어지고 arr[][]가 주어지면정사각형의 갯수 return매트릭스 안에서 모든 수 더하기 느낌으로 하다 1,4,9가 만들어질 때 카운팅 +1 해주는 방식으로 가자 ex) {1,1}       {1,1}  일 때 (1,1) 4를 저장하는 건 되는데  +1의 규칙성을 어떻게 정하지 ?  dp[i][j] = matrix[i][j] + dp[i - 1][j] + dp[i][j] - dp[i - 1][i - 1] 까진 느낌 오는데여기서 4개 9개가 1이 다 채워져 있다면 +1씩 계속 해줘야 하는데 이것도 다시 검사  ? 너무..

알고리즘 2024.06.09

99클럽 코테 스터디 20일차 TIL Partition Array for Maximum Sum

https://leetcode.com/problems/partition-array-for-maximum-sum/submissions/1281377816/    1. 문제 및 접근 1043. Partition Array for Maximum Sum arr가 주어지면 최대 k개의 subarr로 만드는데,합이 가장크게 만들어라 그 서브 어레이는 젤 큰 값으로 변경시키자1. 어떻게 나누느냐가 중요한데, 어떻게 dp에 이 정보들을 저장하지.. 일단 k개로 짤랐을 때 7개의 배열을 k인 3으로 짜르면 3개의 배열이 나오는데작은 수가 있다면 제일 큰수에 포함시켜 바꿔주고, 그다음 제일 큰 수가 포함된 배열로{15,15,15} {10,10,10} {9}의 형태로 작은 수들은 큰 수로 다 바꿔주는 형태가 베스트일듯dp로..

알고리즘 2024.06.08

99클럽 코테 스터디 19일차 TIL Count Sorted Vowel Strings

https://leetcode.com/problems/count-sorted-vowel-strings/description/  1. 문제 및 접근 1641. Count Sorted Vowel Strings n이 주어지고, n의 length를 가진 주어진 a, e, i, o, u인 모음의 조합들을 사전순서로 정렬해서총 몇개를 만들 수 있는 지 반환  exInput: n = 1Output: 5Explanation: The 5 sorted strings that consist of vowels only are ["a","e","i","o","u"]  Constraints:1   dp 문제인데 aeiou라면 조합 문제인데 중복이 가능하니 중복 조합 ex)5H2 = n+r-1Cr = 6C2 = 15개      2..

알고리즘 2024.06.07

99클럽 코테 스터디 18일차 TIL All Possible Full Binary Trees

https://leetcode.com/problems/all-possible-full-binary-trees/description/    1.  문제 및 접근 DP 문제 894. All Possible Full Binary Trees  n이 주어지고, n개의  가진 정이진트리 반환, 0을 노드를 가진 트리없거나 2개의 노드를 가진 완전이진트리 반환7개의 노드가 주어지면 그에 맞는 경우의 수의 노드들을 만들어 반환사실 상 짝수는 들어올 수가 없는데 ?..null or 0 ?제한 사항 1 == 20  2.  DP (Dynamic Programming) Dynamic Programming의 줄임말이며 동적계획법이라고 불린다. 이름이 직관적이지 않아서 이해가 잘 가지 않을 수 있다.. DP는 복잡한 문제를 여..

알고리즘 2024.06.06

99클럽 코테 스터디 17일차 TIL 구명보트 feat. deque

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr deque  1. 문제 및 접근 무인도에 갇힌 사람이 탈출하기 위해 구명보트 사용구명 보트는 작아 2명밖에 못타고, 무게 제한도 있음예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니..

알고리즘 2024.06.05

99클럽 코테 스터디 16일차 TIL 조이스틱

https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 및 접근 방법 완성해야 하는 글자가 3글자면 AAA, 4글자면 AAAA로 주어지는데 조이스틱 마다 기능이 있다위는 다음 알파벳, 아래는 이전 알파벳(a라면 z로 이동가능)왼쪽은 커서의 이동(왼쪽 끝이면 오른쪽), 오른쪽도 커서의 이동(오른 끝이면 왼끝으로)가장 적게 움직여서 원하는 글자 만들기!  커서의 이동은 aaaaaaz를 만들어야 한다면 왼쪽 커서로 움직이는게 베스트니까 필요알파벳을 ..

알고리즘 2024.06.04

99클럽 코테 스터디 15일차 TIL Reverse Odd Levels of Binary Tree

https://leetcode.com/problems/reverse-odd-levels-of-binary-tree/submissions/1276096872/   1. 문제 및 접근 2415 Reverse Odd Levels of Binary Tree binaryTree, 완전이진탐색트리인듯 (홀수 level의 경우만 reverse)2 ~ 2^14(16,384) , levels 수 0 ~ 10^5k level의 노드들은 2^k-1 만큼의 노드를 가지고, 총 n개의 노드를 가진다면 log2(n+1)의 level을 가짐그러면 list에 저장된 level을 파악 후 홀수 여부 판별 -> 왼 오 교환 하는 형태로 재귀 호출 홀수인 level의 노드를 바꿔라 ! dfs로 레벨을 늘려가며, 홀수의 level일 경우 ..

알고리즘 2024.06.03