smooth waters run deep

1d-1c/BOJ

11399_ATM (JAVA)

yeon_11 2020. 9. 9. 20:48
 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
	public static void main (String[] args)
	{
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] time = new int[N];
		for(int i=0; i<N; i++){
			time[i] = sc.nextInt();
		}
		
		Arrays.sort(time);
		
		int ans = 0;
		for(int i=0; i<N; i++){
			int temp = 0;
			for(int j=0; j<=i; j++){
				temp += time[j];
			}
			ans+=temp;
		}
		System.out.println(ans);
	}
	
}

 

LG CNS 코딩테스트는 c++을 지원해주지 않는다ㅠㅠ 급하게 JAVA랑 친해지기 돌입!

 

정처기 준비했을때 봤던 시간계산문제여서 쉽게 풀었다ㅎㅎ

 

[문제 풀이 생각 과정]

1. 최소 시간이기 위해서는- 적게 걸리는 순으로 더해야한다. 그러므로 오름차순 정렬이 필요함!

2. 입력받은 배열의 i번째 위치일때, 0~i-1번째까지 더한 값 + i번째 값 을 해줘야 하므로 이중for문을 이용한다.

 

** 자꾸 system으로 입력해서 컴파일 오류가 난다ㅜㅜ System에 익숙해지기....!

'1d-1c > BOJ' 카테고리의 다른 글

2178_미로 탐색 (JAVA) (C++)  (0) 2020.09.10
11047_동전0 (JAVA)  (0) 2020.09.09
1316_그룹 단어 체커 (C++)  (0) 2020.08.28
2941_크로아티아 알파벳 (C++)  (0) 2020.08.26
5622_다이얼 (C++)  (0) 2020.08.26