-
2346번 풍선 터뜨리기 | Baekjoon BOJ 백준 2346 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 17. 12:17728x90반응형
이번 포스팅은 백준 2346번 풍선 터뜨리기입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
기본 알고리즘
vector의 삽입과 삭제
pair 사용
참고
line25
마지막 풍선을 터뜨린 후 더 이상 풍선 터뜨리기를 하지 않음 = main 함수 종료 (return 0)
line 27-32
오른쪽 이동 = 맨 앞 원소 삭제 후 맨 뒤에 삽입
line 33-38
왼쪽 이동 = 맨 뒤 원소 삭제 후 맨 앞에 삽입
line 34
abs(num)
int형 변수 num의 절대값 반환 함수전체 코드
1234567891011121314151617181920212223242526272829303132333435363738394041//백준2346 풍선 터뜨리기#include <iostream>#include <utility>#include <vector>using namespace std;int main() {int N;cin >> N;vector<pair<int, int>> v;for (int i = 1; i <= N; i++) {int get;cin >> get;v.push_back(make_pair(i, get));}while (!v.empty()) {cout << v.front().first << " ";int num = v.front().second;v.erase(v.begin());if (v.empty()) return 0;if (num > 0) {for (int i = 0; i < num-1; i++) {v.push_back(v.front());v.erase(v.begin());}}else {for (int i = 0; i < abs(num); i++) {v.insert(v.begin(), v.back());v.erase(v.end()-1);}}}}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
11653번 소인수분해 | Baekjoon BOJ 백준11653 C++ 코드, 해설, 풀이 (0) 2021.01.18 1094번 막대기 | Baekjoon BOJ 백준1094 C++ 코드, 해설, 풀이 (0) 2021.01.18 11966번 2의 제곱인가? | Baekjoon BOJ 백준 11966 C++ 코드, 해설, 풀이 (0) 2021.01.16 4344번 평균은 넘겠지 | Baekjoon BOJ 백준 4344 C++ 코드, 해설, 풀이 (1) 2021.01.15 3460번 이진수 | Baekjoon BOJ 백준 3460 C++ 코드, 해설, 풀이 (0) 2021.01.15