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"을 리턴하면 됩니다.
접근 방식
1. 공백으로 구분된 숫자
이거를 간과해서 두번 풀었다. 가장 중요한 부분
String[] tmpArr = s.split(" ");
//공백 기준으로 문자열을 나눠서 배열에 저장
2. 문자열로 된 숫자를 정수형으로 변환하기
int[] arr = new int[tmpArr.length];
//정수형 배열 먼저 만들기
for(int i = 0; i < arr.length; i++){
arr[i] = Integer.parseInt(tmpArr[i]);
//정수형으로 변환하면서 배열에 하나씩 저장
}
3. 배열 정리하기
Arrays.sort(arr);
//오름차순으로 정렬
4. 최솟값, 최댓값 찾기
오름차순으로 정렬하여서 배열의 첫번째 인덱스와 마지막 인덱스를 문자열에 합쳐서 반환하기
answer = "" + arr[0] + " " + arr[arr.length - 1];
전체 코드
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] tmpArr = s.split(" ");
int[] arr = new int[tmpArr.length];
for(int i = 0; i < arr.length; i++){
arr[i] = Integer.parseInt(tmpArr[i]);
}
Arrays.sort(arr);
answer = "" + arr[0] + " " + arr[arr.length - 1];
return answer;
}
}'java' 카테고리의 다른 글
| [프로그래머스 - 자바] 없는 숫자 더하기 (0) | 2023.09.19 |
|---|---|
| [프로그래머스 - 자바] 핸드폰 번호 가리기 (0) | 2023.09.19 |
| [프로그래머스 - 자바] 음양 더하기 (0) | 2023.09.19 |
| [프로그래머스 - 자바] 나누어 떨어지는 숫자 배열 (0) | 2023.09.19 |
| [프로그래머스 - 자바] 콜라츠 추측 (0) | 2023.09.19 |