[백준] 11399번: ATM

2024. 9. 17. 02:39·PS

 

 


 

문제

https://www.acmicpc.net/problem/11399

 

 

개념

그리디 알고리즘, 정렬

 

 

실행 결과

 

 

 

 

구현 코드(c++)

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

int main() {
  int n;
  cin >> n;

  vector<int> v(n);

  for (int i = 0; i < n; i++) {
    cin >> v[i];
  }

  sort(v.begin(), v.end());
  
  int max = 0;
  for (int i = 0; i < n; i++) {
    max += v[i] * (n - i);
  }
  
  cout << max;

  return 0;
}

 

 

 

 

코드 설명

핵심은 sort를 이용하여 입력받는 시간들을 오름차순으로 정렬하는 것이다.

문제에서 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다고 언급하고 있다.

하지만, 글을 자세히 살펴보면 이미 답을 알려주고 있다.

 

뒤쪽을 잘 읽어보면 시간의 합을 1+3+6+9+13 = 32분으로 할 때 이 방법보다 더 필요한 시간의 합을 최소로 만들 수는 없다고 하는데, 작은 시간부터 큰 시간으로 더할 수록 최소합을 구할 수 있기 때문이다.

 

왜냐하면 뒷 사람은 앞의 사람의 시간을 모두 더해야 하기 때문에,

앞에서 적은 시간이 걸릴수록 최소한으로 더할 수 있다.

1
1 3
1 3 6
1 3 6 9 
1 3 6 9 13

 

이러한 구조로 모두 더한 최종 값을 구하게 된다. 

참고로 algorithm 헤더의 sort 함수를 이용하면 간편하게 코드를 작성할 수 있다.

그리디 개념이 들어간 별찍기 문제 느낌..😂

 

 

 

 


 

 

저작자표시 (새창열림)

'PS' 카테고리의 다른 글

[백준] 2579번: 계단 오르기  (0) 2024.09.20
[백준] 15649번: N과 M (1)  (0) 2024.09.18
[백준] 28445번: 알록달록 앵무새  (0) 2024.09.16
[백준] 18110번: solved.ac  (0) 2024.09.15
[백준] 9095번: 1, 2, 3 더하기  (0) 2024.09.15
'PS' 카테고리의 다른 글
  • [백준] 2579번: 계단 오르기
  • [백준] 15649번: N과 M (1)
  • [백준] 28445번: 알록달록 앵무새
  • [백준] 18110번: solved.ac
abyss-s
abyss-s
프론트엔드 개발합니다!
  • abyss-s
    abyss-s의 블로그입니다.
    abyss-s
  • 전체
    오늘
    어제
    • 분류 전체보기 (189)
      • Web (16)
        • JavaScript (6)
        • TypeScript (1)
        • React (5)
        • Vue (0)
        • Storybook (1)
        • Next.js (1)
      • Backend & Infra (8)
        • Database (3)
        • Node.js (2)
        • SpringBoot (1)
      • PS (71)
      • CS (30)
        • OS (13)
        • Structure & Algorithm (5)
        • Network (10)
        • 정보처리기사 (2)
      • Language (18)
        • OOP (1)
        • JAVA (13)
        • C++ (4)
      • Activities (13)
        • 멋쟁이 사자처럼 (2)
        • OSSCA (3)
        • LG U+ URECA (4)
        • Project (2)
      • AI (0)
      • Git & Github (5)
      • Notion (1)
      • IT (4)
      • Statistics (11)
      • Book (4)
      • Diary (1)
      • Game (1)
  • 블로그 메뉴

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

    • 깃허브
    • 백준
    • 트위터
  • 공지사항

    • abyss-s의 티스토리에 오신 것을 환영합니다.
  • 인기 글

  • 태그

    github
    파이썬
    OS
    C++
    BFS
    React
    운영체제
    그리디
    백준
    자바스크립트
    JavaScript
    DP
    통계학
    코드트리
    BAEKJOON
    자바기반응용프로그래밍
    생활코딩
    네트워크
    Java
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
abyss-s
[백준] 11399번: ATM
상단으로

티스토리툴바