반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181860
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
답
#include <string>
#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 if(flag[i]==false){
for(int j=0;j<arr[i];j++){
answer.pop_back();
}
}
}
return answer;
}
빈 배열 answer을 만들어준다.
flag크기만큼 for문을 돌린다.(i)
flag[i]가 true 인지 false인지 판단한다.
true이면
arr[i]*2번 for문을 ㄷ로리고
answer에 arr[i]를 넣어준다.(push_back()을 사용했다.)
false이면
arr[i]만큼 for문을 돌리고
ansewr에 맨 뒤에 값을 없엔다.
(pop_back()을 사용하면 맨뒤에 값을 삭제할 수 있따.)
끝
반응형
'c++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 배열 만들기 3(c++) (0) | 2023.12.25 |
---|---|
[프로그래머스] 수열과 구간 쿼리 1(c++) (0) | 2023.12.25 |
[프로그래머스] l로 만들기(c++) (0) | 2023.12.25 |
[프로그래머스] 배열 만들기 4(c++) (0) | 2023.12.24 |
[프로그래머스] 할 일 목록(c++) (0) | 2023.12.24 |