본문 바로가기

프로그래머스

1일차 - 최대값과 최솟값

문제 설명 : 문자열 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