안녕하십니까. Eun🦆입니다.
풀이법 입니다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
int arr[s.length()];
int cnt = 0;
for(int i=0;i<s.length();i++)
{
if(s[i]=='-')
{
//printf("-");
arr[cnt] = -1;
}
else if(s[i]==' ')
{
//printf(" ");
cnt++;
}
else // number
{
if(s[i-1]=='-' & i>0)
{
arr[cnt] = arr[cnt] * (s[i]-'0');
//printf("check point1, arr[%d]=%d\n",cnt,arr[cnt]);
}
else if(s[i-1]!='-' & s[i-1]!=' ' & i>0)
{
//printf("check point2(1), arr[%d]=%d\n",cnt,arr[cnt]);
if(arr[cnt]>0)
arr[cnt] = arr[cnt] * 10 + s[i]-'0';
else
arr[cnt] = arr[cnt] * 10 - (s[i]-'0');
//printf("check point2(2), arr[%d]=%d\n",cnt,arr[cnt]);
}
else
{
arr[cnt] = s[i]-'0';
//printf("check point3, arr[%d]=%d\n",cnt,arr[cnt]);
}
//printf("%c",s[i]);
}
}
/*printf("\n");
for(int i=0;i<cnt+1;i++)
{
printf("arr[%d]=%d\n",i,arr[i]);
}*/
sort(arr,arr+cnt+1);
/*for(int i=0;i<cnt+1;i++)
{
printf("arr[%d]=%d\n",i,arr[i]);
}*/
string temp1 = to_string(arr[0]);
string temp2 = " ";
string temp3 = to_string(arr[cnt]);
answer = temp1+temp2+temp3;
return answer;
}
'개발 > Coding Test' 카테고리의 다른 글
[프로그래머스 C++ Lv2] 피보나치 수 (0) | 2022.06.06 |
---|---|
[프로그래머스 C++ Lv2] 최솟값 만들기 (0) | 2022.06.06 |
[프로그래머스 C++ Lv2] 숫자의 표현 (0) | 2022.06.06 |
[프로그래머스 C++ Lv2] 폰켓몬 (0) | 2022.06.06 |
[프로그래머스 C++ Lv2] 땅따먹기 (0) | 2022.06.06 |
댓글