본문 바로가기

# 프로그래밍 개발/04. 알고리즘 문제풀이

백준 알고리즘 2010번 [플러그] 문제 풀이 코드 공개

반응형

문제

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

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

입력

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

출력

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

 

알고리즘 분류

 

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);
}

앞에 서론이 길었던 이유는 굉장히 간단한 코드였기 때문입니다. 

이러한 문제는 손으로 조금 풀어보고 규칙을 찾은 뒤 코드로 완성하는 것이 보다 시간을 줄일 수 있습니다. 

 

코딩 테스트를 준비하시는 여러분들 화이팅하세요! 

반응형