반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
11-07 11:40
관리 메뉴

ImJay

[BOJ/Java] 3040. 백설 공주와 일곱 난쟁이 본문

알고리즘/BOJ - Java

[BOJ/Java] 3040. 백설 공주와 일곱 난쟁이

ImJay 2024. 2. 4. 17:00
반응형

[BOJ/Java] 3040. 백설 공주와 일곱 난쟁이

 

3040번: 백설 공주와 일곱 난쟁이

매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.

www.acmicpc.net

 


풀이

package edu.ssafy.im.BOJ.B2.No3040;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int arr[] = new int[9];
        
        // 아홉 난쟁이가 쓴 모자에 쓰여 있는 수 입력 받기
        for (int i = 0; i < 9; i++) {
            arr[i] = Integer.parseInt(br.readLine());
        }
        
        int sum = 0;
        for (int i = 0; i < 9; i++) {
            sum += arr[i]; // 아홉 난쟁이가 쓴 모자에 쓰여 있는 수의 합 구하기
        }

        int goal = sum - 100; // 100보다 작은 수의 합이 100이 되도록 만들어야 함
        int index1 = 0;
        int index2 = 0;

        // 합이 100이 되는 두 난쟁이 찾기
        for (int i = 0; i < 8; i++) {
            for (int j = i + 1; j < 9; j++) {
                if (arr[i] + arr[j] == goal) {
                    index1 = i;
                    index2 = j;
                    break;
                }
            }
        }
        
        // 합이 100이 되는 두 난쟁이를 제외하고 출력하기
        for (int i = 0; i < 9; i++) {
            if (i == index1 || i == index2)
                continue;
            System.out.println(arr[i]);
        }
    }

}

 

반응형

'알고리즘 > BOJ - Java' 카테고리의 다른 글

[BOJ/Java] 2493. 탑  (0) 2024.02.04
[BOJ/Java] 16943. 숫자 재배치  (0) 2024.02.04
[BOJ/Java] 16919. 봄버맨 2  (0) 2024.02.04
[BOJ/Java] 18115. 카드 놓기  (0) 2024.02.04
[BOJ/Java] 12891. DNA 비밀번호  (0) 2024.02.04
Comments