문제 보기

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

 

프로그래머스

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

programmers.co.kr

 

 

문제

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

 

 

제한사항
  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

 

 

풀이방법

String의 split 기능을 사용할 수 있냐 없냐를 묻는 것으로 보임.

공백을 이용해 나누어 주고 최대 최소 값을 구한다.

 

 

전체 코드 & 주석
class Solution {
    public String solution(String s) {
        String answer = "";
        String[] strs = s.split(" "); // 공백을 기준으로 한 글자씩 쪼갠다
        int max = Integer.parseInt(strs[0]); // max, min 저장소 선언 후 첫 글자를 int로 파싱하여 담아둔다.
        int min = Integer.parseInt(strs[0]);
        for (int i = 1; i < strs.length; i++) { // 두 번째 글자부터 마지막까지
            int current = Integer.parseInt(strs[i]); // 현재 글자를 int로 파싱
            if(max < current) // 현재 숫자가 max값 보다 클 경우
                max = current; // 새로운 max
            if(min > current) // 현재 숫자가 min값 보다 작을 경우
                min = current; // 새로운 min
        }
        answer = min + " " + max; // 출력 형식에 맞춰 String으로 만든다
        return answer;
    }
}

 

 

풀이 GitHub 링크

https://github.com/MetroDefro/CodingTest_AutoSave/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/12939.%E2%80%85%EC%B5%9C%EB%8C%93%EA%B0%92%EA%B3%BC%E2%80%85%EC%B5%9C%EC%86%9F%EA%B0%92

 

CodingTest_AutoSave/프로그래머스/2/12939. 최댓값과 최솟값 at main · MetroDefro/CodingTest_AutoSave

모든 코딩 테스트 자동 저장. Contribute to MetroDefro/CodingTest_AutoSave development by creating an account on GitHub.

github.com

 

+ Recent posts