본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 17284 : Vending Machine

반응형

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

 

17284번: Vending Machine

첫째 줄에 정웅이가 누른 버튼의 번호가 공백으로 사이에 두고 주어진다. 정웅이는 버튼을 한 번 이상 눌렀다.

www.acmicpc.net

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

button 누른 정보가 담긴 한 줄을 변수s로 선언해 입력받습니다. 이후 공백 한 칸으로 구분해 split()을 수행해줍니다. 반환값은 vector인 clickedInfo에 저장합니다.

📔 풀이과정

5000을 초과해 입력하진 않으므로 편하게 변수 sum을 선언해 clickedInfo의 원소들을 모두 더해줍니다.

📔 정답출력

5000 - sum을 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;

vector <string> clickedInfo;
int coin[4] = {0, 500, 800, 1000}, sum;
string s;

vector <string> split(string input, char delimiter){
    vector <string> result;
    stringstream ss(input);
    string tmp;

    while(getline(ss,tmp,delimiter)) result.push_back(tmp);
    return result;
}

int main(){
  getline(cin, s);
  clickedInfo = split(s, ' ');
  for(auto c : clickedInfo){
    sum += coin[stoi(c)];
  }
  cout << 5000 - sum;
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.