반응형
https://www.acmicpc.net/problem/7598
구현문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 비행기 번호 flightNum, 예약한 인원 booked를 선언 후 while loop를 돌며 입력 받습니다.
2. 안에서 다시 while loop를 수행합니다. transaction의 상태 stat, 숫자 num을 선언 후 입력받습니다.
📔 풀이과정
예약했을 때 68이 넘어가거나 취소했을 때 인원이 0미만이라면 이 예약은 반영되지 않고 무시됩니다. 이 외에는 취소, 예약한 인원에 대해 booked값을 갱신해줍니다.
📔 정답출력
flightNum, booked를 공백으로 구분해 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
string flightNum;
int booked;
int main(){
while(1){
cin >> flightNum >> booked;
if(flightNum == "#" && !booked) break;
while(1){
char stat;
int num;
cin >> stat >> num;
if(stat == 'X' && !num) break;
if(stat == 'B') {
if(booked + num > 68) continue;
booked += num;
}
if(stat == 'C') {
if(booked - num < 0) continue;
booked -= num;
}
}
cout << flightNum << ' ' << booked << '\n';
}
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 7891 : Can you add this? (0) | 2022.01.20 |
---|---|
(C++) - 백준(BOJ) 7789 : 텔레프라임 (0) | 2022.01.19 |
(C++) - 백준(BOJ) 7595 : Triangles (0) | 2022.01.16 |
(C++) - 백준(BOJ) 24262 : 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2022.01.15 |
(C++) - 백준(BOJ) 8871 : Zadanie próbne 2 (0) | 2022.01.14 |