blog.itcode.devblog.itcode.dev

[프로그래머스 / JAVA] Level 1 제일 작은 수 제거하기 (12935)

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

[프로그래머스 / JAVA] Level 1 제일 작은 수 제거하기 (12935)

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
RWB0104
@RWBwritten at 2021-12-18 11:55:40
프로그래머스

시리즈 모아보기

프로그래머스

55 / 78
랭크사용 언어
Level 1

🖼️ JAVA

🔗 제일 작은 수 제거하기

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
arrreturn
{ 4, 3, 2, 1 }{ 4, 3, 2 }
{ 10 }{ -1 }

배열 arr의 가장 작은 수를 찾아 제거하고, 남은 배열을 반환하면 된다. 만약 제공된 배열의 갯수가 하나라면, 그 하나가 최소값이므로 그 값을 제외하면 빈 배열이 된다. 이 경우 -1을 담아 { -1 }로 반환한다.

배열을 돌며 가장 작은 값을 파악하고 그 값을 제거한 뒤 반환한다.


이 장에서는 ArrayList를 활용한다. arr를 돌며 최소값을 비교함과 동시에 ArrayList에 요소를 입력한다.

이후 최소값을 ArrayList로부터 삭제한 뒤 반환한다.

JAVA

int min = Integer.MAX_VALUE;
		
for (int item : arr)
{
	min = Math.min(min, item);
}

최소값은 위와 같이 판별한다.

JAVA

import java.util.ArrayList;

/**
 * 제일 작은 수 제거하기 클래스
 *
 * @author RWB
 * @since 2021.12.13 Mon 19:20:27
 */
class Solution
{
	/**
	 * 해답 반환 메서드
	 *
	 * @param arr: [int[]] 정수 배열
	 *
	 * @return [int[]] 해답
	 */
	public int[] solution(int[] arr)
	{
		ArrayList<Integer> list = new ArrayList<>();
		
		int min = Integer.MAX_VALUE;
		
		for (int item : arr)
		{
			min = Math.min(min, item);
			
			list.add(item);
		}
		
		list.remove((Integer) min);
		
		// 리스트가 비었을 경우
		if (list.isEmpty())
		{
			list.add(-1);
		}
		
		return list.stream().mapToInt(Integer::intValue).toArray();
	}
}
# 프로그래머스# 알고리즘# JAVA(자바)# Level 1
ship
blog.itcode.dev

𝝅번째 알파카의 개발 낙서장

7.0.5
Developed by RWB since 2021.057th upgraded at 2026.08