문제
선영이의 집에는 콘센트를 꽂을 수 있는 플러그가 하나밖에 없다. 선영이는 많은 컴퓨터를 가지고 있는데, 컴퓨터의 전원 문제는 어떻게 해결하는 것일까?
하나의 플러그가 있고, N개의 멀티탭이 있다. 각 멀티탭은 몇 개의 플러그로 이루어져 있다고 한다. 최대 몇 대의 컴퓨터를 전원에 연결할 수 있을까?
입력
첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연수는 1,000을 넘지 않는다.
출력
첫째 줄에 최대로 전원에 연결될 수 있는 컴퓨터의 수를 출력한다.
출처
ICPC > Regionals > Europe > Northwestern European Regional Contest > Nordic Collegiate Programming Contest > NCPC 2005 E번
5년 전의 나는 정말 알고리즘 문제에 열심히였던 것 같다.
지금은 이러한 알고리즘이 크게 도움되지는 않지만, 알고리즘 문제를 접한다기 보다는 현업에서 코드를 조금 더 어떻게 효율적으로 어떻게 조금 더 간단하게 작성할 수 있는지에 대한 아이디어 갖기에는 도움이 되는 것 같다.
그러니 지금 코딩테스트를 준비하면서, 알고리즘을 공부하고 계시는 분들이 있다면
현업에 도움보다는 훝날 조금 더 편하게 일하기 위해서
이를 공부한다고 생각하신다면 한결 더 마음이 편해질 것입니다.
#include<stdio.h>
int main(){
int n,res = 1;
scanf("%d",&n);
for(int i = 0 ; i < n ; i++){
int a;
scanf("%d",&a);
res += a-1;
}
printf("%d\n",res);
}
앞에 서론이 길었던 이유는 굉장히 간단한 코드였기 때문입니다.
이러한 문제는 손으로 조금 풀어보고 규칙을 찾은 뒤 코드로 완성하는 것이 보다 시간을 줄일 수 있습니다.
코딩 테스트를 준비하시는 여러분들 화이팅하세요!