[백준,BOJ 11399] ATM(JAVA 구현)

2020. 11. 27. 00:30·CodingTest/백준 온라인 저지(BOJ)
반응형

-풀이

  그리디 알고리즘을 사용하기 적합한 문제의 조건은 1. 각 경우가 독립적인 경우 2. 각 경우의 선택으로 다른 경우에 영향을 미치지 않는 경우를 만족하면 된다고 알고 있다. 이 문제의 경우 각 사람들의 대기시간이 상호 영향을 받지 않는 독릭접인 상태이다. 

 

  그리디 알고리즘을 이용해 손님들의 소요시간을 최소로 만들기 위해서는 먼저 끝나는 사람을 우선으로 처리하면 최솟값이 나오게 된다. 이는 이전의 회의실 배정 문제와 비슷한 유형이라고 생각된다. 그렇기에 문제에서 알려주고 있는 최솟값을 구하는 방법을 코딩으로 옮기기만 하면 된다. 

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		// 사람의 수 
		int n = in.nextInt();
		
		// 인출하는데 걸리는 시간 배열
		int a[] = new int[n];
		
		for(int i=0;i<n;i++) {
			a[i] = in.nextInt();
		}
		
		// 처리시간이 빠른 사람 순서대로 정렬.
		Arrays.sort(a);
		
		// 가장 빠른 손님의 처리시간으로 초기화.
		int sum = a[0];
		
		// 1번 인덱스부터 이전 손님의 처리시간으로 생기는 대기시간과 자신의 처리시간을 더해 해당 손님이 소요하는 총 시간을 저장한다.
		for(int i=1;i<n;i++) {
			a[i] += a[i-1];
			// 한 손님의 저장된 총 소요시간을 모두 더한다.
			sum+=a[i];
		}
		
		System.out.println(sum);
		in.close();
	}

}
저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 10828] 스택(JAVA 구현)
  • [백준,BOJ 1541] 잃어버린 괄호(JAVA 구현)
  • [백준,BOJ 1931] 회의실 배정(JAVA 구현)
  • [백준,BOJ 11047] 동전 0(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    TypeScript
    Java
    BOJ
    프로그래머스
    백준1260
    meidum
    백준7576자바
    leetcode 2236
    백준7576
    boj2108
    next 14
    medium
    백준
    백준2751
    boj1427
    백준1427
    Easy
    알고리즘
    자바
    component-scan
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 11399] ATM(JAVA 구현)
상단으로

티스토리툴바