반응형
🔍 문제 요약
https://school.programmers.co.kr/learn/courses/30/lessons/12939
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
공백으로 구분된 숫자들이 들어있는 문자열 s가 주어졌을때 해당 문자열에 있는 숫자들의 최소값과 최대값을 출력하는 문제
🧠 나의 접근 방식과 시행착오
약 10분 정도 걸렸나 안걸렸나 싶은 문제. 그냥 s를 공백을 기준으로 Split 시키고 간단하게 min, max 숫자와 비교하면서 최소, 최대를 구해서 출력했다
using System;
using System.Collections.Generic;
public class Solution
{
/// <summary>
/// 최댓값과 최솟값
/// https://school.programmers.co.kr/learn/courses/30/lessons/12939
/// </summary>
public string solution(string s)
{
var split = s.Split(' ');
int min = int.MaxValue;
int max = int.MinValue;
foreach (var item in split)
{
var i = int.Parse(item);
if (i < min)
{
min = i;
}
if (i > max)
{
max = i;
}
}
return $"{min} {max}";
}
}
/// <summary>
/// C# 7.3
/// </summary>
internal class Program
{
public static void Main(string[] args)
{
var sl = new Solution();
var sArr = new[] { "1 2 3 4", "-1 -2 -3 -4", "-1 -1" };
foreach (var item in sArr)
{
Console.WriteLine(sl.solution(item));
}
}
}
✅ 풀이 코드
피드백이랄 건 없지만 더 간결하게 Linq를 사용한 방법도 있어서 참고를 하기 위해 알려주었다. Select야 그렇다 치는데 Min, Max는 두 번을 따로 구해야 하는 거라 지금 것보다 효율은 좋지 못하다 한다.
using System.Linq;
public string solution(string s)
{
var nums = s.Split(' ').Select(int.Parse);
return $"{nums.Min()} {nums.Max()}";
}
🔄 정리
쉬운 문제에 속한다고 생각되어 그렇게 생각할 요소는 없는 듯 하다. 지금 보니 레벨 2로 되어 있는데 왜 레벨 2인건진 모르겠네..
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Lv.1] 가운데 글자 가져오기 [프로그래머스_코딩테스트] [문자열] [10분] (2) | 2025.06.19 |
---|---|
[Lv.1] 직사각형 별찍기 [프로그래머스_코딩테스트] [구현, 출력] [10분] (0) | 2025.06.18 |
[Lv.1] 3진법 뒤집기 [프로그래머스_코딩테스트] [수학, 진법 변환] [20분] (0) | 2025.06.17 |
[Lv.1] 나머지가 1이 되는 수 찾기 [프로그래머스_코딩테스트] [수학, 완전탐색] [15분] (0) | 2025.06.17 |
[Lv.0] 문자열 정렬하기 (1) [프로그래머스_코딩테스트] [문자열, 정렬] [15분] (0) | 2025.06.16 |