[백준] - 2309번: 일곱 난쟁이(Java)

병찬·2022년 4월 8일
0

Baekjoon Online Judge

목록 보기
6/18
post-thumbnail

문제📝


풀이💡

  • 난쟁이 키를 입력하고 sum 변수에 난쟁이 키들의 합계를 넣어준다.
  • 오름차순으로 정렬하고 9명의 키의 합에서 2명을 뺐을 때 100이 된 경우 그 수를 fake1과 fake2에 넣어준다.
  • 출력할 때 fake1과 fake2는 생략하고 나머지 난쟁이의 키를 출력한다.

코드💻

// 백준 Bronze2 - 2309(일곱 난쟁이)
// 문제링크: https://www.acmicpc.net/problem/2309

import java.util.*;

public class Main {
	public static void main(String[] args) {
		
		Scanner sc =new Scanner(System.in);
		int arr[] = new int[9];
		int sum = 0;
		int fake1 = 0, fake2=0;
		
		for(int i=0; i<arr.length; i++){
			arr[i] = sc.nextInt(); 
			sum += arr[i]; 
		}
		
		Arrays.sort(arr); 
		
		for(int i=0; i<arr.length-1; i++){
			for(int j=i+1; j<arr.length; j++){
				if(sum - arr[i]-arr[j] == 100){
					fake1 = i;
					fake2 = j;
					break;
				}
			}
		}

		
		for(int i = 0; i<arr.length; i++) { 
			if(i == fake1 || i == fake2)   
				continue;
			System.out.println(arr[i]);
		}
		sc.close();
	}
}

결과😎


느낀점👨‍💻

난쟁이 문제와 비슷한 문제를 풀어본 기억이 있어서 비교적 쉽게 문제를 해결할 수 있었다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글