개발자일걸요..?

11399번 ATM 본문

알고리즘코딩/Baekjoon Online Judge

11399번 ATM

Re_A 2021. 2. 20. 19:54
728x90
반응형

문제링크 : www.acmicpc.net/problem/11399 

 

11399번: ATM

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

www.acmicpc.net



<알고리즘> 

  1) 입력받은 수열은 작은 수 순으로 나열

  2) i번째마다 소요 시간을 계산하여 합산

 

버전 1. 이중 for문으로 각 i번째마다 소요시간 계산하여 합산( 메모리 : 12096KB    시간 : 96ms )

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		String s = "";
		try {
			s= bf.readLine();
		}catch(IOException e) {}
		int N = Integer.parseInt(s);
		
		int numbers[] = new int[N];
		try {
			s= bf.readLine();
		}catch(IOException e) {}
		StringTokenizer st = new StringTokenizer(s);
		for(int i =0;i<N;i++) {
			numbers[i] = Integer.parseInt(st.nextToken());
		}
		Arrays.sort(numbers);
		int result = 0;
		for(int i =0;i<N;i++) {
			for (int j =0;j<=i;j++) {
				result+=numbers[j];
			}
		}
		System.out.println(result);
	}
}

 

버전 2. 단일 for문으로 각 i번째마다 소요시간에 얼마나 기여했는지 곱하여 합산  ( 메모리 : 11852KB    시간 : 80ms )

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Main{

	public static void main(String[] args) {
		BufferedReader bf =new BufferedReader(new InputStreamReader(System.in));
		String s = "";
		try{s= bf.readLine();}catch(IOException e) {}
		int N = Integer.parseInt(s);
		
		int numbers[] = new int[N];
		try{s= bf.readLine();}catch(IOException e) {}
		StringTokenizer st = new StringTokenizer(s);
		for(int i =0;i<N;i++) {numbers[i] = Integer.parseInt(st.nextToken());}
		
		Arrays.sort(numbers);
		
		int result = 0;
		for(int i =0;i<N;i++) {result+=(numbers[i]*(N-i));}
		
		System.out.println(result);
	}
}
반응형

'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글

1931번 회의실 배정  (0) 2021.02.21
13305번 주유소  (0) 2021.02.20
11047번 동전0  (0) 2021.02.19
9375번 패션왕 신해빈  (0) 2021.02.16
1010번 다리놓기  (0) 2021.02.16
Comments