반응형
프로그래머스 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool Function(const string& a, const string& b)
{
return a + b > b + a;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> vecString;
size_t Size = numbers.size();
// 벡터에 담겨있는 인트를 전부 스트링으로 변환후 저장
for(size_t i = 0; i < Size; ++i)
{
vecString.push_back(to_string(numbers[i]));
}
// a, b를 비교한다 가정할때 a = 10, b = 3;
// a + b = 103이고 b + a = 310이기때문에 더한값을 비교해서 큰값이 앞으로오게 순차적으로 바꾼다.
sort(vecString.begin(), vecString.end(), Function);
Size = vecString.size();
// 구한값을 전부 더하면 됨
// Size는 무조건 밖에서 처리해주고 반복문 조건으로 넣기
// 계속해서 처리해줄 필요가 없음
for (size_t i = 0; i < Size; ++i)
{
answer += vecString[i];
}
// '0' + '0'을하게되면 "00"이란 값이 나오게 되기때문에 인덱스0값이 0이라면 무조건 0을 출력하도록 함
if(answer[0] == '0')
{
answer = '0';
}
return answer;
}
반응형
'프로그래머스 > lv2' 카테고리의 다른 글
프로그래머스 : 구명보트(lv2) C++ (0) | 2022.11.07 |
---|---|
프로그래머스 : 소수 찾기(lv2) C++ (0) | 2022.11.05 |
프로그래머스 : 영어 끝말잇기(lv2) C++ (0) | 2022.10.19 |
프로그래머스 : 카카오프렌즈 컬러링북 (lv2) C++ (0) | 2022.10.06 |
프로그래머스 : k진수에서 소수 개수 구하기 (lv2) C++ (0) | 2022.10.06 |
댓글