[백준] 10845번 : 큐 (C++)

2024. 3. 11. 01:05·Programming/C++ - 백준
반응형


문제


풀이

큐(Queue)은 FIFO(First In First Out, 선입선출) 구조이다.

 

큐를 구현하기 위해 std::queue를 사용할 수 있다. 

스택과 비슷한 형태의 함수를 지원하지만, 의미와 동작은 다르게 정의되어 있다.

 

 

[백준] 10828번 : 스택 (C++)

문제 풀이 스택(Stack)은 LIFO(Last In First Out, 후입선출) 구조이다. 스택은 컨테이너의 한 쪽 끝에서만 데이터를 삽입하거나 삭제할 수 있다. 따라서, 한쪽 끝이 아닌 위치에 있는 데이터는 접근하거

jigoo-log.tistory.com

 

예를 들어, std::queue에서 pop()은 pop_front()를 의미한다.

만약, 단순히 양 끝에 있는 원소에 접근하고 싶다면 front(), back() 함수를 사용하면 된다.

 

아래는 std::queue를 사용하는 예제 코드이다.

 

// std::queue를 이용해 큐 구현

#include <queue>
std::queue<int> q;
q.push(1);
q.push(2;
q.push(3)
q.pop;

 


코드

#include <iostream>
#include <string>
#include <queue>

using namespace std;

int main() {
	int N, num;
	string str;
	queue<int> q;

	cin >> N;

	for (int i = 0; i < N; i++) {
		cin >> str;

		if (str == "push") {
			cin >> num;
			q.push(num);
		}
		else if (str == "pop") {
			if (q.empty()) {
				cout << "-1" << "\n";
			}
			else {
				cout << q.front() << "\n";
					q.pop();
			}
		}
		else if (str == "size") {
			cout << q.size() << "\n";
		}
		else if (str == "empty") {
			if (q.empty()) {
				cout << "1" << "\n";
			}
			else {
				cout << "0" << "\n";
			}
		}
		else if (str == "front") {
			if (q.empty()) {
				cout << "-1" << "\n";
			}
			else {
				cout << q.front() << "\n";
			}
		}
		else if (str == "back") {
			if (q.empty()) {
				cout << "-1" << "\n";
			}
			else {
				cout << q.back() << "\n";
			}
		}
	}
	return 0;
}

결과

 
 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

 

반응형
저작자표시 (새창열림)

'Programming > C++ - 백준' 카테고리의 다른 글

[백준] 11931번 : 수 정렬하기 4 (C++)  (1) 2024.03.13
[백준] 11866번 : 요세푸스 문제 0 (C++)  (0) 2024.03.13
[백준] 10828번 : 스택 (C++)  (0) 2024.03.11
[백준] 2798번 : 블랙잭 (C++)  (0) 2024.03.10
[백준] 2869번 : 달팽이는 올라가고 싶다 (C++)  (0) 2024.03.07
'Programming/C++ - 백준' 카테고리의 다른 글
  • [백준] 11931번 : 수 정렬하기 4 (C++)
  • [백준] 11866번 : 요세푸스 문제 0 (C++)
  • [백준] 10828번 : 스택 (C++)
  • [백준] 2798번 : 블랙잭 (C++)
지구코드
지구코드
IT를 공부하고 있는 지구의 코딩공간입니다!
  • 지구코드
    지구의 코딩공간
    지구코드
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 개발 기록
      • Back-end
        • Spring
        • Django
      • Programming
        • 알고리즘
        • C++ - 백준
      • Cloud
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C++
    알파코캠퍼스
    pair 클래스
    부분 문자열 추출
    구조체 벡터
    부트캠프
    프디아
    피보나치 수
    알파코
    다이내믹 프로그래밍
    awscloudclubs
    이진탐색
    큐
    dp
    시간복잡도
    별 찍기
    슬라이딩윈도우
    fill 함수
    edgelocation
    KDT교육
    프로디지털아카데미
    정렬
    시간초과
    k디지털트레이닝
    AWS
    Cloud
    백준
    EC2
    binary_search
    신한투자증권
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
지구코드
[백준] 10845번 : 큐 (C++)
상단으로

티스토리툴바