```
백준 2460번 지능형기차2 C++로 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 2460번 풀이
https://www.acmicpc.net/problem/2460
2460번: 지능형 기차 2
최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다.
www.acmicpc.net
백준 2460번 지능형기차2는
난이도 쉬움 등급의 문제로서
0명이 있는 기차가
역에 정차 할 떄마다
승객이 기차에 타고 내리는 숫자가 주어질때
기차안에 한 시점에 있는 최대 사람수를 구하는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
현재 기차안에 있는
사람수 curPassengers이 0이고
최대 숫자 maxPassengers이 0 일때
기차가 10개 역을 방문한다면
매번
사람이 들어오고 사람이 나가는데
이를 현재 숫자에 적용하면
현재 승객수 + 들어오는 승객 수 - 나가는 사람 수
curPassengers = curPassengers + noOfPassengersIn - noOfPassengersOut; 입니다.
이 현재 승객수와 최대 승객수를 비교해서
최대 승객수를 계산 해주고
매 정거장 마다 반복해주면 됩니다.
void findAndPrintMaxPassenger()
{
int32_t maxPassengers = 0;
int32_t curPassengers = 0;
for (int8_t i = 0; i < 10; i++)
{
std::string inputStr;
std::getline(std::cin, inputStr);
std::stringstream ss(inputStr);
int32_t noOfPassengersOut;
ss >> noOfPassengersOut;
int32_t noOfPassengersIn;
ss >> noOfPassengersIn;
curPassengers = curPassengers + noOfPassengersIn - noOfPassengersOut;
maxPassengers = std::max(curPassengers, maxPassengers);
}
std::cout << maxPassengers;
}
전체 코드는 다음과 같습니다
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <numeric>
#include <cmath>
class CTrain
{
private:
public:
CTrain()
{
}
~CTrain()
{
}
void findAndPrintMaxPassenger()
{
int32_t maxPassengers = 0;
int32_t curPassengers = 0;
for (int8_t i = 0; i < 10; i++)
{
std::string inputStr;
std::getline(std::cin, inputStr);
std::stringstream ss(inputStr);
int32_t noOfPassengersOut;
ss >> noOfPassengersOut;
int32_t noOfPassengersIn;
ss >> noOfPassengersIn;
curPassengers = curPassengers + noOfPassengersIn - noOfPassengersOut;
maxPassengers = std::max(curPassengers, maxPassengers);
}
std::cout << maxPassengers;
}
};
int main()
{
std::cin.tie(NULL);
std::ios::sync_with_stdio(false);
CTrain* cTrain = new CTrain();
cTrain->findAndPrintMaxPassenger();
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
참조 및 인용
C++ Primer
Introduction to Algorithms
https://codemasterkimc.tistory.com/35
C++ 이론을 배울수 있는 곳 정리
개요 C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime
codemasterkimc.tistory.com
https://codemasterkimc.tistory.com/50
300년차 개발자의 좋은 코드 5계명 (Clean Code)
이번 글을 통해 배워갈 내용 좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋
codemasterkimc.tistory.com
'C++ > C++ 알고리즘' 카테고리의 다른 글
| 백준 21567번 숫자의 개수2 C++로 구현해보기 (0) | 2021.09.03 |
|---|---|
| 백준 2355번 시그마 C++로 구현해보기 (0) | 2021.09.02 |
| 백준 1864번 문어숫자 C++로 구현해보기 (0) | 2021.09.02 |
| 백준 1731번 등차수열, 등비수열 추론 C++로 구현해보기 (0) | 2021.09.01 |
| 백준 1834 나머지와 몫이 같은 수 C++로 구현해보기 (0) | 2021.09.01 |