1. 문제설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
2. 제한사항
● s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
3. 입출력 예시
s |
return |
"1 2 3 4" |
"1 4" |
"-1 -2 -3 -4" |
"-4 -1" |
"-1 -1" |
"-1 -1" |
4. 나의풀이
- 처음에 공백을 제외한 문자열을 int.Parse로 형변환을 해주었다가 음수가 있는 예시에서 에러가 나왔다.
이유를 한참 생각해보니 참 한심하다는 생각이 들었다... '-'도 문자열에 속한다는 것...
그래서 그냥 Split매서드를 사용하여 공백을 없애주어 문자열배열에 담아서 나누어주었다. 하하
public string solution2(string s)
{
string answer = "";
string[] strArr = s.Split(' ');
int[] numArr = new int[strArr.Length];
for (int i = 0; i < strArr.Length; i++)
{
numArr[i] = int.Parse(strArr[i].ToString());
}
answer += (numArr.Min()).ToString();
answer += ' ';
answer += (numArr.Max()).ToString();
return answer;
}