csmoon1010의 SW 블로그

[200901] 최댓값과 최솟값 - 연습문제(level2) 본문

Coding Test/프로그래머스

[200901] 최댓값과 최솟값 - 연습문제(level2)

csmoon1010 2020. 9. 1. 18:53

1. 문제 이해

- 문자열 s : 공백으로 구분된 숫자들

- s에서 "(최소값) (최대값)" 형태의 문자열 반환

 

2. 전략

- 문자열 s String 배열 slist : split(" ") 이용

- n = slist의 요소를 int형태로 변환 : Integer.parseInt 이용

- min(초기값 : Integer.MAX_VALUE), max(초기값 : Integer.MIN_VALUE)와 비교

 

3. 참고 사항

- 다른풀이1 : Java8 스트림 이용. 

   Arrays.stream(arrInt).min().getAsInt()

- 다른풀이2 : Arrays 클래스를 이용한 sort 후 첫번째, 마지막 요소 선택

(1번, 2번 풀이 모두 int 배열로 바꾼 뒤 진행)

 

4. 코드

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] slist = s.split(" ");
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        for(int i = 0; i < slist.length; i++){
            int n = Integer.parseInt(slist[i]);
            min = n < min ? n : min;
            max = n > max ? n : max;
        }
        answer = min + " " + max;
        return answer;
    }
}
Comments