문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181886
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 문제이해
주어진 문자열 백터를 5명씩 그룹으로 나누고, 각 그룹의 첫 번째 문자열을 추출하여 answer에 담아 리턴하도록 한다.단 마지막 그룹은 5명이 되지 않더라도 첫 번째 문자열을 리턴하도록 한다.
2. 문제풀이
각그룹의 첫 번째 문자열을 추출하기 위해 names의 사이즈 만큼 반복하면서 count변수가 5일때마다 해당 그룹의 첫 번째 문자열을answer에 담고 count를 0으로 만들어주었다. 여기서 count를 5로 초기화한 이유는names의 0번째 원소가 answer에 바로 담겨하기때문이다. answer에 정보가 담겨 count가 0이 되었다면 반복문을 통해 이 과정을 끝까지 반복한다.
3. 소스코드
#include <string>
#include <vector>
using namespace std;
vector<string> solution(vector<string> names) {
vector<string> answer;
int count=5;
for(int i=0; i<names.size(); i++)
{
if(count == 5)
{
answer.push_back(names[i]);
count = 0;
}
count++;
}
return answer;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]C++ LV1 소수 찾기 (1) | 2025.04.11 |
---|---|
[프로그래머스]C++ LV1 [1차]다트게임 (1) | 2025.04.10 |
[프로그래머스]C++ LV1 3진법 뒤집기 (1) | 2025.02.11 |
[프로그래머스]C++ LV1 최대공약수와 최소공배수 (1) | 2025.02.03 |
[프로그래머스] C++ LV1 같은 숫자는 싫어 (1) | 2025.01.09 |