본문 바로가기
공부/코딩테스트

프로그래머스/C#/Lv.2 - 최댓값과 최솟값

by 잰쟁 2024. 6. 18.
728x90

 

 

문제 설명

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

 

 

제한 조건

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

 

입출력 예

 

 

풀이

using System;
using System.Linq;
using System.Collections.Generic;

public class Solution {
    public string solution(string s) {
        string answer = "";
        string[] tem = s.Split(' ');
        List<int> list = new List<int>();
        foreach(string a in tem)
        {
            list.Add(Convert.ToInt32(a));
        }
        string min = list.Min().ToString();
        string max = list.Max().ToString();
        
        answer = min + " " + max; 
        return answer;
    }
}

 

: 우선 최솟값 최댓값을 알아내기 위해서 string ---> int로 형변환을 시켜줬다.

그 후 ' ' 공백으로 나누어져 있는 문자열을 Split() 함수를 사용해 문자 배열로 변환시켰다.

그 후 foreach를 이용해 문자 배열값을 int형으로 변환시킨 후 List에 담았다.

그 후 Min(), Max() 함수를 통해 최솟값과 최댓값을 구하고 다시 string형으로 변환후 answer에 공백을 가운데 넣어 반환시키면 끝!!