알고리즘 문제풀이/Beakjoon

백준 2010. 플러그 (JAVA)

joah.k 2023. 2. 6. 22:13
728x90

https://www.acmicpc.net/problem/2010

 

2010번: 플러그

첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연

www.acmicpc.net

 

플러그 

한국어   
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 256 MB 18441 10153 8947 56.814%

문제

선영이의 집에는 콘센트를 꽂을 수 있는 플러그가 하나밖에 없다. 선영이는 많은 컴퓨터를 가지고 있는데, 컴퓨터의 전원 문제는 어떻게 해결하는 것일까?

하나의 플러그가 있고, N개의 멀티탭이 있다. 각 멀티탭은 몇 개의 플러그로 이루어져 있다고 한다. 최대 몇 대의 컴퓨터를 전원에 연결할 수 있을까?

입력

첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연수는 1,000을 넘지 않는다.

출력

첫째 줄에 최대로 전원에 연결될 수 있는 컴퓨터의 수를 출력한다.

예제 입력 1 복사

3
1
1
1

예제 출력 1 복사

1

예제 입력 2 복사

2
5
8

예제 출력 2 복사

12

 

 


풀이 : 멀티탭이 하나씩 늘어날 수록 플러그를 하나 차지하게 되므로 총 멀티탭의 (n-1)개를 빼줘야 한다. 

주어진 멀티탭의 개수 n 을 다 더한 후 (n-1) 개를 빼면 연결될 수 있는 컴퓨터의 수가 출력된다. 

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

public class Main {
    // 백준 2010. 플러그
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int sum=0;
        for(int i=0; i<n; i++){
            sum += Integer.parseInt(br.readLine());
        }
        System.out.println(sum-(n-1));
    }
}

 

 

728x90