본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 4635 : Speed Limit

반응형

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

 

4635번: Speed Limit

The input consists of one or more data sets. Each set starts with a line containing an integer n, 1 ≤ n ≤ 10,  followed by n pairs of values, one pair per line. The first value in a pair, s, is the speed in miles per hour and the second value, t, is t

www.acmicpc.net

구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

log의 개수 logs를 선언 한 후 while loop를 수행하며 logs가 -1일 때까지 입력해줍니다.

📔 풀이과정

 1. 정답을 출력할 변수 ans를 선언 후 0으로 초기화해줍니다. 그 후 log 정보를 입력받을 변수들을 선언해줍니다.

 2. log의 개수를 for문으로 돌며 ans에 공식을 적용해줍니다.

📔 정답출력

ans와 " miles\n"를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int logs;
int main(){
    while(1){
        cin >> logs;
        if(logs == -1) break;
        int speedPerHour[logs], totalDriveTime[logs], ans = 0;
        for(int i = 0; i < logs; i++)
            cin >> speedPerHour[i] >> totalDriveTime[i];
        for(int i = 0; i < logs; i++) {
            if(!i) ans += totalDriveTime[i] * speedPerHour[i];
            else ans += speedPerHour[i] * (totalDriveTime[i] - totalDriveTime[i-1]);
        }
        cout << ans << " miles\n";
    }

}