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에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예제
설계과정
1. 입력받은 문자열을 공백 기준으로 하나씩 자른다.
2. 자른 문자들을 숫자로 형변환해서 배열에 넣는다.
3. Collections.min 과 Collections.max 를 사용해서 최소값, 최대값을 출력한다.
3 가지 정도로 풀어봤고, 그 중 가장 깔끔한 Collections 사용 코드로 작성했다.
풀이과정
1. 입력받은 문자열을 공백 기준으로 하나씩 자른다.
- split() : 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나눠서 배열에 저장하여 리턴한다.
2. ArrayList 로 arr 배열을 선언하고, 숫자로 형변환하여 값들을 배열에 넣는다.
- Collections 사용 위해 ArrayList 를 사용했다.
- Integer.parseInt() 를 통해 숫자로 형변환했다.
3. Collections.min() 과 Collections.max() 를 사용해서 최소값과 최대값을 리턴한다.
4. 결과를 출력한다.
답안소스
- 프로그래머스
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split(" ");
ArrayList<Integer> arr = new ArrayList<Integer>();
for(int i=0; i<str.length; i++) {
arr.add(Integer.parseInt(str[i]));
}
answer = Collections.min(arr) + " " + Collections.max(arr);
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv.2 올바른 괄호 (0) | 2023.04.19 |
---|---|
[프로그래머스]Lv.2 JadenCase 문자열 만들기 (0) | 2023.04.13 |
[프로그래머스]Lv.1 짝수와 홀수 (0) | 2023.04.10 |
[프로그래머스]Lv.3 숫자 게임 (0) | 2023.04.08 |
[프로그래머스]Lv.3 단속카메라 (0) | 2023.04.07 |