JAVA/Programmers

프로그래머스 Lv2 > JAVA/자바 > 최댓값과 최솟값

Huiyeon 2023. 7. 21. 20:41

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"을 리턴하면 됩니다.

 

 

제한사항

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

 

 

입출력 예

 

 

내 코드🐰

class Solution {
    public String solution(String s) {
        
        //문자열 띄어쓰기로 잘라서 arr에 넣어주기
		String []arr = s.split(" ");
		int n = arr.length;
        //min값과 max값을 구해주기 위해 int문 array생성
		int []numArr = new int[n];
        
        //버블정렬
        for (int i = 0; i < arr.length; i++) {
            numArr[i] = Integer.parseInt(arr[i]);
        }
        
		for(int i=0; i<n-1; i++) {
			for(int j=0; j<n-i-1; j++) {
				//가까운 값과 비교해 앞에 있는 값이 더 클 경우 자리 교체
				if(numArr[j]>numArr[j+1]) {
					int temp = numArr[j];
					numArr[j] = numArr[j+1];
					numArr[j+1] = temp;
				}
			}
		}
        
        //numArr의 0번째는 min값 numArr의 마지막값은 max값임으로 각각 출력
        String answer = numArr[0]+" "+numArr[arr.length-1];
        return answer;
        
    }
}

- 버블정렬을 사용해서 정렬 후  String answer에 numArr의 0번째 값과 마지막 값을 넣어주며 return해줬습니다.

 //return numArr[0]+" "+numArr[arr.length-1]; 으로 제출해도 가능합니다.

 

 

 

 

 

▼제 블로그에 작성해놓은 버블 정렬을 참고 하시면서 코드 작성해보시면 좋을 것 같아요👻

https://huiyeon.tistory.com/36

 

[자료구조] 버블 정렬(Bubble Sort)이란 with JAVA

💧버블 정렬(Bubble Sort)이란? 버블정렬은 인접한 두 값을 비교하며 순서대로 정렬하는 간단한 알고리즘 입니다. 이 과정을 반복하며 배열을 정렬합니다. 버블 정렬 알고리즘 예제 버블 정렬 알고

huiyeon.tistory.com

 

 

 

 

반응형