반응형

2309번 - 일곱 난쟁이

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;

public class Main {

	static int[] dp;

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		int[] heights = new int[9]; // 난쟁이들의 키들을 저장한 배
		int totalHeight = 0; // 9난쟁이 키들의 총합

		for (int i = 0; i < 9; i++) {
			heights[i] = Integer.parseInt(br.readLine());
			totalHeight = totalHeight + heights[i];
		}

		for (int i = 0; i < 8; i++) {
			for (int j = i + 1; j < 9; j++) {
				if (totalHeight - (heights[i] + heights[j]) == 100) {
					heights[i] = 101;
					heights[j] = 101;
					i = 8;
					break;
				}
			}
		}

		Arrays.sort(heights);

		for (int i = 0; i < 7; i++) {
			bw.write(heights[i] + "\n");
		}

		bw.flush();
		bw.close();
	}

}

 

정답을 맞춘 풀이방법

1. 9명의 난쟁이중 7명의 난쟁이를 찾아야 하므로 2명만 제외하면 됨 

2. 난쟁이 9명 키의 총합 - 제외할 난쟁이 2명 키의 합 = 100 이면 반복문 탈출

3. 오름차순으로 정렬 후 난쟁이 7명의 키 출력함

반응형

'알고리즘 > 백준 문제[추후 옮길예정]' 카테고리의 다른 글

[JAVA] 백준 1748번  (0) 2021.06.05
[JAVA] 백준 1476번  (0) 2021.06.04
[JAVA] 백준 1699번  (0) 2021.06.03
[JAVA] 백준 14002번  (0) 2021.06.02
[JAVA] 백준 11053번  (0) 2021.06.02

+ Recent posts