(1).백준 2979번 트럭 주차는 주차 시간에 따른 비용을 계산해야 하는 문제로

1, 2, 3대마다 요금이 다르기 때문에 해당 주차 시간대를 비교해야 했다.

 

100시간까지라고 했기 때문에 1~100시간을 구성하는 배열을 생성한 다음

각각의 주차 시간대에 포함될 경우 1씩 증가시켜서 0~3대 주차로 볼 수 있게 했다.

 

주차 대수에 따라 주어진 요금을 적용해서 합산했는데 틀렸다는 결과가 나왔고

잘 생각해보니 주차 시작, 종료 시간을 기준으로 했을 때 1시간 마다 요금이 나오기 때문에

시작 시점이 아닌 시작 시점 +1시간을 카운팅하는 것으로 변경 후 통과할 수 있었다.

const input = `10 8 6
15 30
25 50
70 80`.split('\n').map(el => el.split(' ').map(Number))

const parking = new Array(101).fill(0)
let sum = 0

const add = (start, end) => {
    for(let i = start+1 ; i <= end ; i++){
        parking[i]++
    }
}

add(input[1][0], input[1][1])
add(input[2][0], input[2][1])
add(input[3][0], input[3][1])

for(let i = 1 ; i <= 100 ; i++){
    if(parking[i] == 1){
        sum += input[0][0]
    }
    else if(parking[i] == 2){
        sum += input[0][1] * 2
    }
    else if(parking[i] == 3){
        sum += input[0][2] * 3
    }
}

console.log(sum)

'회고' 카테고리의 다른 글

[개발일지] - 358  (0) 2024.06.24
[개발일지] - 357(주말)  (0) 2024.06.23
[개발일지] - 355  (0) 2024.06.21
[개발일지] - 354  (0) 2024.06.20
[개발일지] - 353  (0) 2024.06.19

+ Recent posts