Skip to content

[권혁준-17주차 알고리즘 스터디] #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Conversation

oncsr
Copy link
Contributor

@oncsr oncsr commented May 19, 2025

🚀 싸피 15반 알고리즘 스터디 17주차 [권혁준]

📌 문제 풀이 개요

  • 이번 PR에서는 다음 5문제의 풀이를 포함합니다.
  • 각 문제에 대한 풀이 과정과 접근 방식을 설명합니다.

✅ 문제 해결 여부

  • 피아의 아틀리에 신비한 대회의 연금술사
  • 새로운 게임 2
  • 군사 이동
  • 인하니카 공화국
  • 택배

  • 집배원 한상덕
  • 어항 정리
  • Cubeditor

💡 풀이 방법

문제 1: 피아의 아틀리에 신비한 대회의 연금술사

문제 난이도

문제 유형

접근 방식 및 풀이


문제 2: 새로운 게임 2

문제 난이도

문제 유형

접근 방식 및 풀이


문제 3: 군사 이동

문제 난이도

Gold 3

문제 유형

  • 분리 집합

접근 방식 및 풀이

많은 풀이들이 떠올랐다.

정답을 매개 변수로 놓고 이분 탐색도 가능하고, 이를 성능 개선시키면 결국 가중치가 큰 순서대로 크루스칼 알고리즘을 돌리는 풀이가 나옵니다.
저번 주에 풀었던 세부 문제랑 거의 같습니다.


문제 4: 인하니카 공화국

문제 난이도

Gold 3

문제 유형

  • 트리
  • DFS

접근 방식 및 풀이

문제 지문에 두 섬을 연결하는 다리를 최소한의 개수로 만들어 모든 섬 간의 왕래가 가능하도록 만들었다.
이런 말이 있습니다.
즉, 그래프는 트리 형태로만 주어진다는 의미이고, 리프에서부터 루트까지 올라오는 길목이 존재하지 않도록 적절히 차단해야 하는 문제로 바꿔서 생각했습니다.

D[n] = n을 루트로 하는 서브트리까지 오지 못하도록 막는 최소 비용으로 정의하면,
비용이 v인 간선 (n,c)에 대해 min(D[c], v)의 합이 D[n]이 됩니다.

DFS로 위 값을 리프에서부터 구해주면, D[1]이 문제의 정답이 됩니다.


문제 5: 택배

문제 난이도

문제 유형

접근 방식 및 풀이


문제 6: 집배원 한상덕

문제 난이도

Platinum 4

문제 유형

  • 그래프 탐색
  • 이분 탐색 (+ 매개 변수 탐색)

접근 방식 및 풀이

고도의 범위가 크지만, 고도의 종류는 최대 N^2 뿐입니다.

이동 가능한 고도의 범위 [L, R]을 제한한다면, 가능/불가능을 판별하는 결정 문제로 변합니다.

L을 완탐 돌리고 R을 이분 탐색으로 찾아서 문제를 해결했습니다.
(=> 같은 논리를 가지고, 이분 탐색 대신 투 포인터로 푸는 풀이가 더 빠르고 깔끔한 것 같아요)


문제 7: 어항 정리

문제 난이도

문제 유형

접근 방식 및 풀이


문제 8: Cubeditor

문제 난이도

Gold 2

문제 유형

  • KMP

접근 방식 및 풀이

처음엔 단순 투 포인터로 알고 풀었다가 틀렸습니다.

이후, KMP의 실패 함수(부분 일치 테이블)을 사용했습니다.
부분 일치 테이블의 최댓값이 곧 문제의 정답이 됨을 이용해서 풀었습니다.

A의 모든 접미사에 대해서 이를 수행해주고, 그 중 최댓값을 뽑아 출력했습니다.


@oncsr oncsr changed the title Khj20006/week 17 [권혁준-17주차 알고리즘 스터디] May 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant