문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다.
제한 조건
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
sreturn
1 2 3 4 | 1 4 |
-1 -2 -3 -4 | -4 -1 |
-1 -1 | -1 -1
|
StringTokenizer 함수를 이용하여 문자열을 슬라이싱 하는 것이 중요한 문제이다. split을 쓰기도 하지만 StringTokenizer가 빠르다고 알고 있다.
반복문을 돌면서 st.hasMoreTokens()로 더 이상의 잘라질 수 있는 값이 있는지 검사하게 된다.
진행하면서 max 값과 min값을 탐색하면서 더 큰 값과 작은값을 저장하게 된다.
이후 마지막 return 시의 string을 위해 min + " " +max를 리턴해주면 최댓값과 최솟값을 구할 수 있다.
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
StringTokenizer st = new StringTokenizer(s);
int max= Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
while(st.hasMoreTokens()){
int a =Integer.parseInt(st.nextToken());
max = a>max?a:max;
min = a<min?a:min;
}
return min+" "+max;
}
}
실행 결과도 잘 나온다.
'코딩테스트 연습 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 ] Lv2 연습문제 > 피보나치 수 (0) | 2020.06.29 |
---|---|
[ 프로그래머스 ] Lv2 연습문제 > 최소값 만들기 (0) | 2020.06.29 |
[ 프로그래머스 ] Lv.2 폰켓몬 - 자바 (0) | 2020.06.28 |
[ 프로그래머스 ] level 2 : 땅따먹기 ( 자바) (0) | 2020.06.28 |
[ 프로그래머스 ] Level 2 다음 큰 숫자 - Java (자바) (0) | 2020.06.26 |