*문제 출처는 프로그래머스에 있습니다.
문제 제목: 문자열 묶기 (0단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120817
문제 설명
문자열 배열 strArr이 주어집니다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요.
제한 사항
- 1 ≤ strArr의 길이 ≤ 100,000
- 1 ≤ strArr의 원소의 길이 ≤ 30
- strArr의 원소들은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
입출력 예 설명
나의 풀이
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<string> strArr) {
vector<int> result(strArr.size(), 0);
int answer = 0;
for (int i = 0; i < strArr.size(); i++)
result[strArr[i].size()] += 1;
sort(result.begin(), result.end());
answer = result[result.size() - 1];
return answer;
}
※ 알아야 할 것
문제를 풀면서 result 벡터에 초깃값 0으로 strArr크기만큼 생성해서 문자열 길이 숫자 인덱스에 개수를 추가하는 방안을 구상하는 것이 어려웠다.
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-C++' 카테고리의 다른 글
Programmers / 수열과 구간 쿼리 4 / C++ (0) | 2024.01.12 |
---|---|
Programmers / 두 개 뽑아서 더하기 / C++ (0) | 2024.01.11 |
Programmers / 연속된 수의 합 / C++ (1) | 2024.01.11 |
Programmers / 잘라서 배열로 저장하기 / C++ (0) | 2024.01.11 |
Programmers / 옹알이 (1) / C++ (1) | 2024.01.03 |