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반 알고리즘 스터디 17주차 [박준서]
📌 문제 풀이 개요
✅ 문제 해결 여부
💡 풀이 방법
문제 1: 어항 정리
문제 난이도
Platinum 5
문제 유형
구현
접근 방식 및 풀이
어항의 수가 줄어들지 않기 떄문에 초기에 행렬을 만들어 재사용했다
roll 메서드의 설명을 잘 보고 만들어야 했다
이후에는 문제의 조건을 잘 따라가면 됐는데
문제를 완벽하게 파악하지 않고 풀어서 오히려 오래걸렸다
문제 2: 휴게소 세우기
문제 난이도
Gold 4
문제 유형
이분 탐색
접근 방식 및 풀이
이 코드는 파라메트릭 서치(Parametric Search) 개념을 사용하지만, 이분 탐색 대신 선형 탐색으로 구현
휴게소 간 최대 거리를 i라고 할 때, 각 구간에서 필요한 추가 휴게소 개수는 (구간 길이 - 1) / i
모든 구간에서 필요한 추가 휴게소 개수의 합이 M 이하인 최소 i를 찾는다
이 i 값이 휴게소 간 최대 거리의 최솟값이 됨
문제 3: 줄세우기
문제 난이도
Gold 4
문제 유형
LIS
접근 방식 및 풀이
처음 문제를 봤을 떄 그리디 방법 혹은 백트래킹으로 접근했다
하지만 아무리 생각해도 아이디어가 떠오르지 않아서 결국 다른 풀이를 참조했다
LIS로 최장 부분 순열을 찾은 뒤 그 값들의 위치는 고정하고, 나머지 요소들만 움직여주면 된다
LIS의 활용 방법이 더 많은 것 같아 더 깊게 고민해 봐야겠다
문제 4: 동통 부분 문자열
문제 난이도
Gold 5
문제 유형
LCS
접근 방식 및 풀이
LCS 개념을 알고 있어서 구현에 시간이 걸렸지만
오래 고민하지 않고 풀수 있었다
문제 5: 전구와 스위치
문제 난이도
Gold 4
문제 유형
그리디
접근 방식 및 풀이
3개의 전구가 있을 때, 시작 지점을 제외하고, 맨 앞 전구의 상태를 정하는 것은 두번째 지점 외에는 없다
따라서, 첫 번째 스위치를 눌렀을 때와 안눌렀을 때 두 케이스를, 결과 상태와 같도록 진행해, 최소값을 찾아주면 된다.