[권혁준-18주차 알고리즘 스터디] #79
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 싸피 15반 알고리즘 스터디 18주차 [권혁준]
📌 문제 풀이 개요
✅ 문제 해결 여부
💡 풀이 방법
문제 1: 마법사 상어와 블리자드
문제 난이도
문제 유형
접근 방식 및 풀이
문제 2: 대표 선수
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
각 학급에서 한 명씩만 고른다면, 고른 학생 중에서 가장 최소의 능력치를 가진 학생이 변하지 않는 한, 다른 학생의 변화는 아무런 이득을 주지 않습니다.
그래서, 가장 최소의 능력치를 가진 학생을 찾은 뒤 해당 학급의 그 다음으로 낮은 능력치를 가진 학생으로 대체합니다.
우선순위 큐를 이용해서 최소 능력치를 가진 학생을 매번 찾아낼 수 있습니다.
문제 3: Strahler 순서
문제 난이도
Gold 3
문제 유형
접근 방식 및 풀이
문제가 직관적이라, 위상 정렬의 순서대로 Strahler 순서를 전이해주고 자신의 차례가 왔을 때 전이받은 값들로 Strahler 순서를 새로 계산했습니다.
문제 4: 로봇 조종하기
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
지났던 칸을 또 지날 수 없다는 조건 떄문에, 같은 행에서는 좌/우 중 한 방향으로만 이동할 수 있습니다.
따라서, 각 칸을 왼쪽에서부터 온 경우와 오른쪽에서부터 온 경우로 나누어 생각했습니다.
두 경우 모두에 대한 최댓값을 dp로 구해 관리해주고, 둘 중 max값으로 다음 행에 전파하였습니다.
문제 5: 책 나눠주기
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
사람을 기준으로 생각하려니까 너무 복잡하게만 생각이 들었습니다.
그래서 책을 1번부터 하나씩 골라놓고, 이 책을 누구한테 줄 지 결정하는 방식으로 해결을 시도했습니다.
책을 번호의 오름차순으로 분배할 거니까, 아직 책을 받지 못한 각 사람 [a,b]에 대해 a <= (책 번호) 이기만 하면 책을 분배할 수 있습니다.
이러면 당연히 b가 가장 작은 사람에게 책을 줄 수밖에 없게 됩니다.
이 논리를 확장시키면, 그냥 b가 작은 순으로 오름차순 정렬을 때리고 풀어도 무방할 것 같습니다.