-
(백준 2346번 풍선 터뜨리기 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 3PROGRAMMING/STL 2024. 3. 26. 21:14
백준 2346번
https://www.acmicpc.net/problem/2346
#include <iostream> #include <deque> using namespace std; int main() { int N; cin >> N; int temp; deque<pair<int, int>> dq; for (int i = 1; i <= N; i++) { cin >> temp; dq.push_back(pair(i, temp)); } while (N--) { cout << (dq.front()).first << ' '; int balloon = dq.front().second; dq.pop_front(); if (dq.empty()) break; if (balloon > 0) { // 오른쪽으로 회전 while (--balloon != 0) { dq.push_back(dq.front()); dq.pop_front(); //balloon--; } } else { // 왼쪽으로 회전 balloon = balloon * (-1); while (balloon != 0) { dq.push_front(dq.back()); dq.pop_back(); balloon--; } } } return 0; }
1. 백준에 제출할 때 C++20으로 해야 컴파일 에러가 없다.
2. deque는 앞에서 뒤로 넣을 때와 뒤에서 앞으로 넣을 때 count 방식이 조금 까다롭다!
'PROGRAMMING > STL' 카테고리의 다른 글
(C++)DFS stack을 이용해서 구현해보기 (0) 2024.04.04 (백준 2840번 행운의 바퀴 C++) 라이님 블로그 대회 알고리즘 따라잡기 7) 리스트, 배열, 연결 리스트 4 (2) 2024.03.27 ★연결리스트 LinkedList (0) 2024.03.25 (백준 2110번 공유기 설치 C++) 라이님 블로그 대회 알고리즘 따라잡기 6) 이분탐색 3 (2) 2024.03.22 뇌를 자극하는 C++ STL 8장) 알고리즘_원소를 수정하는 알고리즘 (0) 2024.03.02