[프로그래머스 / C++] 빈 배열에 추가, 삭제하기

YH·2023년 11월 27일
0

문제

빈 배열에 추가, 삭제하기 : 문제 링크


문제 분석

  • 아무 원소도 들어있지 않은 빈 배열 X가 있다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]arr[i] x 2번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return
  • 원소를 저장할 정수형 배열 answer을 초기화. for loop를 통해 boolean 배열 flag를 순환하고, if문을 통해 true 임을 확인하면 for loop와 push_back() 함수를 통해 arr[i]를 arr[i] x 2번 만큼 answer에 저장. false이면 for loop와 pop_back() 함수를 통해 마지막 arr[i]개의 원소를 제거. 최종적으로 저장된 answer을 return

풀이

#include <vector>

using namespace std;

vector<int> solution(vector<int> arr, vector<bool> flag) {
    vector<int> answer;
    
    for(int i = 0; i < flag.size(); ++i) {
        if(flag[i] == true) {
            for(int j = 0; j < arr[i] * 2; ++j) answer.push_back(arr[i]);
        }
        else {
            for(int j = 0; j < arr[i]; ++j) answer.pop_back();
        }
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글