본문 바로가기

Java/프로그래머스

[JAVA] 프로그래머스 - 제일 작은 수 제거하기

https://school.programmers.co.kr/learn/courses/30/lessons/12935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

ArrayList의 최대값, 최소값 찾기 

Java - ArrayList의 최대값, 최소값 찾기 (codechacha.com)

 

Java - ArrayList의 최대값, 최소값 찾기

ArrayList의 요소들 중에서 최대 값(max)과 최소 값(min)을 찾는 방법을 소개합니다. Collections.max(), Collections.min()는 인자로 전달된 리스트의 요소들 중에 최대, 최소 값을 찾아 리턴합니다. 가장 간단

codechacha.com

 

 

Collctions.max(), min()

- 인자로 전달된 리스트의 요소들 중에소 최대, 최소 값을 찾아서 리턴 

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class Example {

    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));

        int min = Collections.min(list);
        int max = Collections.max(list);

        System.out.println("min: " + min);
        System.out.println("max: " + max);
    }
}

 

 

정답 

 

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        if (arr.length == 1) {
            return new int[]{-1};
        } else {
           //리스트로 변환
            List<Integer> list = new ArrayList<>();
            for (int num : arr) {
                list.add(num);
            }

            int min = Collections.min(list); //최솟값
            list.remove((Integer) min); //최솟값 삭제

            // 배열로 변환
            int[] answer = new int[list.size()];
            for (int i = 0; i < list.size(); i++) {
                answer[i] = list.get(i);
            }

            return answer;
        }
    }
}

 

 

 

다른 사람의 풀이 

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
class Solution {
  public int[] solution(int[] arr) {
      if (arr.length == 1) {
            arr[0] = -1;
            return arr;
        } else {
            ArrayList<Integer> arrayList = new ArrayList<Integer>();
            for (int a : arr) {
                arrayList.add(a);
            }
            Integer minimum = Collections.min(arrayList);
            arrayList.remove(minimum);
            int[] resultArray = new int[arr.length - 1];
            for (int i = 0; i < arrayList.size(); ++i) {
                resultArray[i] = arrayList.get(i);
            }
            return resultArray;
        }
  }
}