https://school.programmers.co.kr/learn/courses/30/lessons/12939
문제
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.제한 조건
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
s | return |
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
간단한 문제라서 포스팅할까 말까 고민하다가 Stream을 활용해서 풀어본 문제라 특⭐히 작성해두기로 했다.
나의 요구사항
1. String 배열을 List<Integer>로 한 번에 변환하고 싶음
2. List에서 최댓값, 최솟값을 Stream을 통해 추출해내고 싶음
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Solution {
public static void main(String[] args) {
System.out.println(solution("-1 -1"));
}
public static String solution(String s) {
String[] arr = s.split(" ");
List<Integer> list =Arrays.stream(arr)
.map(Integer::parseInt)
.collect(Collectors.toList());
return list.stream().mapToInt(x->x).min().getAsInt() + " " + list.stream().mapToInt(x->x).max().getAsInt();
}
}
'CODING > Programmers' 카테고리의 다른 글
[Programmers] Cos Pro 1급 C 모의고사 - 꽃 피우기 (0) | 2023.08.14 |
---|---|
[Programmers] 가장 먼 노드 (1) | 2023.02.23 |
[Programmers] 메뉴 리뉴얼 (0) | 2022.07.17 |
[Programmers] 전화번호 목록 (0) | 2022.07.07 |
[Programmers] 기능개발 (0) | 2022.06.18 |
댓글