2

백준/5430번, AC/C++

백준 5430번 AC c++ 문제풀이 문제 설명 배열이 주어지면 해당 배열을 뒤집거나(R), 처음 숫자를 버리는 연산(D)을 시행한 뒤 최종 결과를 출력한다. 주의할 점 실제로 배열을 뒤집을 생각을 하면 시간초과의 길로 빠지게 된다. 배열의 실제 순서는 상관 없다는 것을 깨달으면 문제가 비교적 쉽게 풀린다. c++의 string에는 split 함수가 없기 때문에 직접 구현하거나, find를 써야 한다. 입력형태가 독특하다는 점을 유의해야 한다. 생각의 흐름 배열을 매번 뒤집으면 시간 초과가 날테니까 덱을 써서 현재 진행 방향에 따라 front나 back으로 다르게 접근하는 게 좋겠다. 비어있는데 에러인 경우나 진행 방향은 bool형 변수를 두어서 확인해야겠네 split 없는데 직접 구현하기 귀찮다.. 근..

큐의 구현과 응용; 덱(deque)

큐 -> 먼저 들어온 항목이 먼저 나가는 특수한 선형 리스트, 선입선출(FIFO) 구조. ○ 큐 ADT enqueue(q, item) :: = 새로운 원소 item을 큐 q에 삽입 dequeue(q) :: = 큐가 비어있지 않으면 큐 q에서 원소 삭제 후 반환 peek(q) :: = 큐가 비어있지 않으면 큐 q에서 원소 삭제하지 않고 원소 값만 반환 is_empty(q) :: = 큐가 비어있으면 true, 아니면 false를 반환 is_full(q) :: = 큐가 가득 차 있으면 true, 아니면 false를 반환 size(q) :: = 큐에 있는 원소의 개수를 반환 (length(q)) visit(q) :: = 큐에 있는 모든 원소 출력 (display(q), print(q)) ○ 배열을 이용한 큐 ·..

CS/자료구조(DS) 2021.03.22