https://www.acmicpc.net/problem/5430함수 R : 배열에 있는 수를 뒤집는다. 처음에는 배열을 직접 뒤집는 함수를 구현했으나, 시간이 너무 오래 걸려bool을 사용해 함수를 뒤집었다고 인식하게 하였다. (Reverse = false : 뒤집지 않음, Reverse = true : 뒤집음) 함수 D : 배열의 첫번쨰 수를 제거한다. 즉, Reverse = false인 경우 배열의 첫번쨰 수를 제거(front) 하고, Reverse = true인 경우 배열의 마지막 수를 제거한다(end) 배열이 비었을 떄 D를 사용 시 error를 출력한다. 여기까지는 배열만 입력해서 출력하는 간단한 문제인 줄 알았으나,배열을 대괄호 안에 쉼표로 구분하여 입력해야 한다. getline과 s..
https://www.acmicpc.net/problem/7662문제를 정리하자면,1. 이중 우선순위 큐: 데이터의 삽입과 삭제가 가능한 자료 구조로, 삭제할 때 우선순위가 가장 높은 데이터 또는 가장 낮은 데이터를 삭제할 수 있는 이중 우선순위 큐를 구현한다. 2. 명령어:- I n : 정수 n을 큐에 삽입하는 연산- D 1: 큐에서 최댓값을 삭제하는 연산- D -1: 큐에서 최솟값을 삭제하는 연산 3. 입력과 출력:I. 첫 번째 줄에 테스트 데이터의 수를 나타내는 정수 T, 각 테스트 데이터는 k개의 연산으로 구성된다.II. 각 연산은 문자 ('D' 또는 'I') 와 정수 n으로 이루어져 있다.III. 각 테스트 데이터에 대해, 모든 연산을 처리한 후 큐에 남아 있는 값 중 최댓값과 최솟값을 출력IV..
https://www.acmicpc.net/problem/30804주어진 문제는 막대에 꽂힌 과일들 중에서 두 종류 이하의 과일만 남도록 앞쪽과 뒤쪽에서 몇 개의 과일을 빼내어 과일의개수가 가장 많은 경우를 찾는 것이다. 조건:1. 과일의 총 개수 N이 주어짐 2. 과일의 종류는 1부터 9까지이며, 각 과일은 S1,S2,....,SN과 같이 나열된다. 3. 앞에서 a개 뒤에서 b개의 과일을 뺼 수 있다. 4. 두 종류 이하의 과일만 남기도록 하여, 남은 과일의 개수가 최대가 되도록 해야 한다. 이 문제를 어떻게 접근해야 할까?접근 방법을 두 케이스로 나눠봤다. 접근 방법:1. 빈도수 카운트:- 각 과일의 빈도 수를 카운트하여, 현재 과일 종류를 추적- 빈도 수를 관리하여, 두 종류를 초과하면 ..