반응형
이번에는 최댓값과 최솟값 문제를 JAVA로 풀이해봤다.
입력받은 String에서 양수 음수 상관없이 최댓값 최소값을 리턴하게 하면 된다.
먼저 입력받은 문자열에서 첫번째 값을 저장하고 반복문을 돌면서 비교하게 코드를 작성했다.
class Solution {
public String solution(String s) {
String[] arr = s.split(" ");
int min, max, comp;
// 첫번째 값
min = max = Integer.valueOf(arr[0]);
// 두번째 값부터 비교
for (int i=1; i<arr.length; i++) {
comp = Integer.valueOf(arr[i]);
if (min > comp) {
min = comp;
}
if (max < comp) {
max = comp;
}
}
return min+" "+max;
}
}
비교적 간단하게 작성했지만 다른 사람들은 뭔가 더 효율적인 방법을 썼을까 싶어서
검색해봤더니 Collections 클래스를 사용했다고 해서 알아봤다.
Collections 클래스 활용하면 min, max 라는 메소드를 통해서 최솟값, 최댓값을 바로 가지고 올 수 있다.
이리 간단할 수가.. ㅎㅎ
위의 문제를 Collections를 활용해서 풀어봤다.
ArrayList 형 배열에 입력받는 String을 반복문으로 저장하고
해당 배열을 Collections.min / Collections.max 로 저장하면 바로 확인 가능하다.
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
ArrayList<Integer> arr = new ArrayList<Integer>();
String[] str = s.split(" ");
for(int i=0; i<str.length; i++) {
arr.add(Integer.parseInt(str[i]));
}
answer = "" + Collections.min(arr) + " " + Collections.max(arr);
return answer;
}
}
코드가 한결 깔꼼해졌다.
반응형
'[JAVA]' 카테고리의 다른 글
[프로그래머스 JAVA] 이진 변환 반복하기 문제 풀이 (0) | 2023.11.17 |
---|---|
[프로그래머스 JAVA] 최솟값 만들기 문제 풀이 (0) | 2023.11.16 |
[프로그래머스 JAVA] 개인정보 수집 유효기간 풀이 (0) | 2023.11.08 |
[프로그래머스 JAVA] 행렬의 곱셈 풀이 (0) | 2023.10.29 |
[프로그래머스 JAVA] 올바른 괄호 문제 풀이 (0) | 2023.10.28 |