https://school.programmers.co.kr/learn/courses/30/lessons/12939
문제
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
풀이
문자열에 주어진 숫자들 중 최댓값, 최솟값을 return하는 문제이다.
필자는 StringTokenizer 클래스를 사용하여 문자열에 주어진 숫자들을 구분하였다.
이후 max, min 변수를 이용하여 최댓값, 최솟값을 갱신하여 문제를 해결하였다.
코드
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 n = Integer.parseInt(st.nextToken());
max = Math.max(max, n);
min = Math.min(min, n);
}
StringBuilder sb = new StringBuilder();
sb.append(min).append(" ").append(max);
answer = sb.toString();
return answer;
}
}
틀린 부분이 있다면 정정해 주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]프로그래머스 > Lv.2' 카테고리의 다른 글
[JAVA]프로그래머스 - 멀리 뛰기 (0) | 2024.04.08 |
---|---|
[JAVA]프로그래머스 - 귤 고르기 (0) | 2024.04.03 |