(1).백준 13496번 The Merchant of Venice는 베니스의 상인에 관련된 문제였다.

 

각각의 테스트케이스 내부에서 도착 예정인 배들과

여유있는 날짜 및 배의 속도를 기본 값으로 제공해준 다음

각각의 배들이 남은 거리와 배에 담긴 화물의 가치를 보고

변제일 이전에 도착한 금액을 테스트케이스별로 구해서 출력해야 하는 문제였다.

 

테스트케이스를 일단 나눠준 다음

날짜 및 배의 속도를 곱해서 그 값보다 남은 거리가 적은 경우

해당 배에 담긴 화물의 가치를 테스트케이스 내부에서 모두 합해주고

최종적으로 테스트케이스가 마무리될 때 해당 값을 result에 담았다가

테스트케이스들까지 모두 순회한 다음 원하는 요청 형태대로 출력하기 위해 '\n\n'으로 줄바꿈했다.

const input = `2
3 20 31
42 70
1000 2000
512 121
3 10 3
29 1
30 2
31 4`.split('\n').map(el => el.split(' ').map(Number))

const result = []
let setCount = 1
for(let i = 1 ; i < input.length ; i++){
    const [n,s,d] = input[i]
    let sum = 0
    for(let j = 1 ; j <= n ; j++){
        const [days, value] = input[i + j]
        if(days <= s * d){
            sum += value
        }
    }
    result.push(`Data Set ${setCount}:
${sum}`)
    setCount++
    i+=n
}

console.log(result.join('\n\n'))

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

[개발일지] - 343(주말)  (0) 2024.06.09
[개발일지] - 342  (0) 2024.06.07
[개발일지] - 340  (1) 2024.06.05
[개발일지] - 339  (0) 2024.06.04
[개발일지] - 338  (0) 2024.06.03

+ Recent posts