문제 설명 : 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
제한 조건 : s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
public class Solution {
public string solution(string s) {
// 공백 연속으로 존재하지 않음
int[] numbersArr = Array.ConvertAll(s.Split(" "), int.Parse);
// 오름차순으로 정렬
Array.Sort(numbersArr);
return $"{numbersArr[0]} {numbersArr[numbersArr.Length-1]}";
}
}
Array.ConvertAll(Tinput[] array, Converter<TInput, TOutput> converter) : 배열의 각 요소를 다른 타입으로 변환해서 새 배열을 만드는 c# 정적 메서드
사용 예
// int -> 문자열 (서식 적용)
int[] a = { 1, 2, 3 };
string[] b = Array.ConvertAll(a, x => x.ToString("D3")); // "001","002","003"
// 문자열 숫자 -> int 배열
string s = "1 2 -3 10";
// StringSplitOptions.RemoveEmptyEntries = 연속된 공백 제거
string[] tokens = s.Split(new[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
int[] nums = Array.ConvertAll(tokens, int.Parse);
'프로그래머스' 카테고리의 다른 글
| 2일차 - 피보나치 수 (0) | 2025.09.01 |
|---|---|
| 2일차 - 다음 큰 숫자 (0) | 2025.09.01 |
| 1일차 - 이진 변환 반복하기 (1) | 2025.08.25 |
| 1일차 - JadenCase 문자열 만들기 (1) | 2025.08.25 |
| 1일차 - 최솟값 만들기 (0) | 2025.08.25 |