알고리즘
[프로그래머스] 최댓값과 최솟값 - Java
김쿵야
2023. 7. 28. 19:09
반응형
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에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
s | return |
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
풀이
풀이과정
1. 공백으로 구분된 문자열들을 공백을 기준으로 잘라서 담아준다.
2. 배열에 저장된 숫자는 String 타입이기 때문에 int 타입으로 변환시킨다.
3. 최댓값과 최솟값을 구해준다.
public class MaxAndMinValues {
public String solution(String s) {
String answer = "";
// 입력 받은 문자열을 공백을 기준으로 잘라주기
String[] str = s.split(" ");
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
for (int i = 0; i < str.length; i++) {
// 문자열 str을 int 형으로 반환
int num = Integer.parseInt(str[i]);
if (num > max){
max = num;
}
if (num < min){
min = num;
}
}
answer = min + " " + max;
return answer;
}
}
반응형