S.S.G

최대값 최소값 구하기 본문

코딩/알고리즘

최대값 최소값 구하기

자유로운개발 2016. 7. 5. 00:34
반응형

 


[문제]

getMinMaxString 메소드는 String형 변수 str을 매개변수로 입력받습니다. str에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 String을 반환하는 메소드를 완성하세요. 예를들어 str이 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

 

import java.util.Arrays;


public class Test {
 
     public String getMinMaxString(String str) {
  
          String array[] = str.split(" ");
          int[] arrayInt = new int[array.length];
  
          for(int i =0;i<array.length;i++){
               arrayInt[i] = Integer.parseInt(array[i]);
          }
  
          Arrays.sort(arrayInt);
          String answer = arrayInt[0] + " " + arrayInt[array.length-1];
  
          return answer;
    }

 

    public static void main(String[] args) {
        String str = "1 2 3 4";
        Test minMax = new Test();
        //아래는 테스트로 출력해 보기 위한 코드입니다.
        System.out.println("최대값과 최소값은?" + minMax.getMinMaxString(str));
    }
}

 

실행 결과

 

최대값과 최소값은? 1 4

 

나는 StringTokenizer를 사용하여 ArrayList<> 에 하나씩 넣어서 구현하려고 하였는데 잘 안되었다.

 

위의 답안은 split() 의 특징을 잘 알고 이용하였고, Arrays.sort를 이용하여 간략한 코드로 구현 되었다. 배울점이 많은 코딩이였다.  

 

 

2.

 

String[] tmp = str.split(" ");
        int min, max, n;
        min = max = Integer.parseInt(tmp[0]);
        for (int i = 1; i < tmp.length; i++) {
                n = Integer.parseInt(tmp[i]);
            if(min > n) min = n;
            if(max < n) max = n;
        }

        return min + " " + max;

    }

다른사람의 답변.  다양하게 문제를 풀 수 있다.

[문제 및 답안 출처: 헬로월드 (http://tryhelloworld.co.kr)]

반응형

'코딩 > 알고리즘' 카테고리의 다른 글

가운데 글자 가져오기  (0) 2016.07.11
나누어 떨어지는 숫자 배열  (0) 2016.07.07
평균 구하기  (0) 2016.07.07
문자열 내림차순으로 배치하기  (0) 2016.07.05
짝수와 홀수  (0) 2016.07.05