문제
선영이의 집에는 콘센트를 꽂을 수 있는 플러그가 하나밖에 없다. 선영이는 많은 컴퓨터를 가지고 있는데, 컴퓨터의 전원 문제는 어떻게 해결하는 것일까?
하나의 플러그가 있고, N개의 멀티탭이 있다. 각 멀티탭은 몇 개의 플러그로 이루어져 있다고 한다. 최대 몇 대의 컴퓨터를 전원에 연결할 수 있을까?
https://www.acmicpc.net/problem/2010
입력
첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연수는 1,000을 넘지 않는다.
출력
첫째 줄에 최대로 전원에 연결될 수 있는 컴퓨터의 수를 출력한다.
풀이 했던 방법
'여러 입력을 받는 문제'
이 문제를 풀기 전까지는 while 문이나 for문 안에 입력을 통해 여러줄의 입력을 받게 하며 문제를 풀곤 했었습니다.
기존 방식처럼 풀다가 코드가 너무 복잡해져서 이 문제 부터는 파이썬의 sys모듈을 사용하여 풀었습니다.
밑의 코드 풀이는
입력 처리 -> 멀티탭의 각 플러그 수들을 추출하고 -> 플러그 총합을 계산한다음
-> 플러그에 연결할 수 있는 컴퓨터의 총 수는 -(n+1)이기에 플러그 총합에서 빼줍니다.
어찌보면 단순한 문제였는데 list 코드를 짜는게 익숙치 않아 고전했습니다.
Code
import sys
input = sys.stdin.read
data = input().split()
n = int(data[0])
plug = list(map(int, data[1:n+1]))
sumplug = sum(plug)
print(sumplug - n + 1)
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/C++] 1673번: 치킨 쿠폰 (0) | 2024.07.09 |
---|---|
[백준/Python3] 9996번: 한국이 그리울 땐 서버에 접속하지 (0) | 2024.07.08 |
[백준/Python] 2839번: 설탕 배달 (0) | 2024.07.08 |
[백준/Python] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2024.07.07 |
[BOJ/Python3] 2896번 달팽이는 올라가고 싶다 (0) | 2024.07.07 |