본문 바로가기

Probelm Solving42

BOJ11003 최솟값 찾기 www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net i-L+1 ~ i 번 째 수 중 최솟값 출력 덱 이용하기 내 앞의 수가 나보다 크다 ⇒ 그 수는 필요없다. 내 앞의 수가 나보다 작다 ⇒ 내가 나중에 필요할 수도 있다. push는 뒤에서만 해준다. 덱을 앞에서부터 볼 때 읽은 순으로, 값은 오름차순으로 정렬되도록 한다. 1. 범위를 벗어난 값은 pop front 2. 앞의 수 중 나보다 큰 것 pop back * 이때 앞의 수의.. 2021. 1. 12.
BOJ2478 자물쇠 www.acmicpc.net/problem/2478 2478번: 자물쇠 처음 k-왼쪽밀기의 k를 첫째 줄에, (p,q)-구간뒤집기의 p와 q를 빈칸을 사이에 두고 둘째 줄에, 그리고 마지막 k-왼쪽밀기의 k를 셋째 줄에 출력한다. 만일 답이 여럿일 경우에는 그 중 하나만 출력 www.acmicpc.net 입력에 맞는 답 (k1, p, q, k2)가 여러 개 존재한다. 아래처럼 둘 중 뭐가 돼도 상관없다는 걸 먼저 파악함. 그 다음엔 가장 구하기 편한 걸 구하기로 했다. (3, 5, 7, 3): 12345678 → 45678123 → 45672183 → 72183456 (5, 3, 5, 1): 12345678 → 67812345 → 67218345 → 72183456 아래 여섯 가지 예시로 생각해보았다. .. 2021. 1. 7.