Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 최댓값 최솟값 (자바/Java) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 최댓값 최솟값 (자바/Java)

luke-king 2024. 6. 21. 20:47

 

 

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12939

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] split = s.split(" ");
        int[] arr = new int[split.length];

        for (int i = 0; i < split.length; i++) {
            arr[i] = Integer.parseInt(split[i]);
        }

        int max = arr[0];
        int min = arr[0];
        for (int i = 0; i < split.length; i++) {

            if (max < arr[i]) {
                max = arr[i];

            }
            if (min > arr[i]) {
                min = arr[i];

            }
        }
        answer = String.valueOf(min) + " " + String.valueOf(max);
        return answer;
    }
}

 

오늘 문제는 프로그래머스 "최댓값 최솟값" 문제다.

이번 문제에서는 우리가 흔히 풀던 최솟값, 최댓값 구하기와 다르게 필자가 느끼기에는 조금 더 생각하고 입력값이 문자열이므로 형변환을 필요로 하는 문제였다.

그럼 바로 문제 풀이를 해보겠다.

 

1. 최대값과 최솟값을 담기 위한 arr 숫자형 배열을 생성해 준다, 문자열을 split() 함수를 사용해 각각 나눠준다.

 

2. 첫번째 반복문에서 문자열인 숫자들을 형변환해 arr 배열에 담아준다.

 

3. max, min이라는 변수를 만들어 arr [0] 인덱스로 해준다. 

 

4. 다들 최소값과 최댓값 구하는 알고리즘을 알고 있을 거라 생각하며 조건식에 최댓값(max)과 최솟값(min)을 구하는 조건식을 생성한 뒤 그 배열에 맞게 값을 넣어준다.

 

5. answer 은 문자열 타입이기에 min, max값을 형변환을 해줘 답을 구하면 끝이다.