반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 2010번 플러그 파이썬(Python)

1) 문제번호 : 2010번

 

2) 문제 출처

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

 

2010번: 플러그

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

www.acmicpc.net

 

2. 문제

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

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

 

3. 제약사항

 

4. 입력

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

 

5. 출력

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

 

6. 풀이

- 일단 먼저, 콘센트를 꼽을 수 있는 개수를 다 더한 다음에, 맨 마지막 콘센트는 다른 콘센트를 연결하지 않으므로 N-1개를 전체에서 빼준다.

- 왜냐하면, 콘센트의 개수가 2개고, 3구 짜리 멀티탭이 2개가 있다면 

- 첫 번째 멀티탭은 2개를 꽂을 수 있다. 1개는 다른 한 개의 멀티탭을 연결해야 하니까.

- 두 번째 멀티탭은 3개를 꽂을 수 있다. 마지막 콘센트라 다른 콘센트를 연결하지 않아도 되니까.

 

7. 소스 코드

import sys
input = sys.stdin.readline

N = int(input()) # 멀티탭의 갯수

total = 0 # 콘센트 꼽을 수 있는 갯수
for _ in range(N) :
    total += int(input())

print(total - (N - 1))

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기