본문 바로가기

투 포인터

(2)
[Python] 25916번 싫은데요 https://www.acmicpc.net/problem/25916 25916번: 싫은데요 $6$번째 구멍부터 $8$번째 구멍까지 막으면 총 $9$의 부피를 소모하고, 최대값인 $9$를 출력한다 www.acmicpc.net 22/11/06 전형적인 투 포인터 문제로, 대회 도중에 쉽게 풀 수 있었다. 문제 접근 방식: 햄스터의 머리를 end포인터라고 하고, 햄스터의 꼬리를 start포인터라고 하자. 햄스터의 몸을 한 칸씩 늘리는 것은 end포인터를 뒤로 한 칸씩 당기는 것과 같다. 그러면, 생각을 한번 해보자. 우리는 햄스터가 몸을 늘릴 수 있을 만큼 최대한 늘리고 싶다는 사실을 아주 잘 안다. 그 말인즉슨, 한 칸을 만약에 늘릴 수 있을 때(몸을 늘릴 수 있는 공간이 있을 때) 햄스터가 괜찮다면(햄스터..
[Python] 2531번 회전 초밥 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 22/09/26 숫자 제한이 작아서 투 포인터를 사용하지 않고도 그냥 브루트 포스로도 풀리는 문제이다. 단지 이 문제에서 난해한 점은 문제를 읽고 해석하는 점이다. 문제 접근 방식: 문제의 목적은 연속된 k개의 초밥을 먹을 때, 먹을 수 있는 초밥의 최대 종류가 몇 가지인지 구하는 것이다. 여기서 추가로 주어지는 정보는 초밥 쿠폰의 존재이다. 초밥 쿠폰은 내..