728x90
반응형
안녕하세요
이번 포스팅은 프로그래머스 레벨 2 문제인 최댓값과 최솟값을 풀어보겠습니다.
문제 설명
문자열 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) 문자열을 먼저 " " 단위로 split합니다
(2) for문을 만들어 " " 단위로 잘려진 문자열 배열을 순회합니다
(3) i가 0일때만 최댓값, 최솟값에 arr[0]를 넣습니다
(4) 순환시마다 max, min 값에 계속 비교하여 넣어줍니다
(5) 최솟값과 최댓값을 이어붙여서 문자열로 반환합니다.
class Solution {
public String solution(String s) {
String answer = "";
String[] arr = s.split(" ");
int max = 0, min = 0;
for(int i = 0; i < arr.length; i++) {
if(i == 0) {
max = Integer.parseInt(arr[i]);
min = Integer.parseInt(arr[i]);
}
max = Math.max(Integer.parseInt(arr[i]), max);
min = Math.min(Integer.parseInt(arr[i]), min);
}
answer = String.valueOf(min) + " " + String.valueOf(max);
return answer;
}
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/java] 쿼드 압축 후 개수 세기 - 분할 정복 사용 (0) | 2021.04.26 |
---|---|
[프로그래머스/java] 다음 큰 숫자 (0) | 2021.03.29 |
[프로그래머스 / java] 숫자의 표현 (0) | 2021.03.28 |
[프로그래머스/java] Summer/Winter Coding(~2018) 소수 만들기 - 에라스토테네스의 체 사용 (0) | 2021.03.26 |
[프로그래머스/java] 폰켓몬 (0) | 2021.03.26 |
댓글