(1).백준 13238번 Bitcoin investment는 비트코인 등락이 제시될 떄

딱 한번 사고 파는 기준으로 최대 이익을 구해야 하는 문제였다.

 

간단히 최소값, 최대값의 차이를 구하면 편하겠지만 시간이 흐르고 있기 떄문에

5,100,1,10과 같이 오히려 더 큰 숫자 뒤에 최대값이 올 수 있어서 최소값이 변경될 때마다

나머지 최대값을 Math.max로 가져와 비교하는 방식으로 해결했다.

const input = `10
5 11 4 2 8 10 7 4 3 6`.split('\n')[1].split(' ').map(Number)

let now = input[0]
let max = Math.max(Math.max(...input.slice(1)) - now, 0)

for(let i = 1 ; i < input.length ; i++){
    if(input[i] < now){
        now = input[i]
        max = Math.max(Math.max(...input.slice(i)) - now, max)
    }
}


console.log(max)

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

[개발일지] -603  (0) 2025.02.25
[개발일지] -602  (0) 2025.02.24
[개발일지] -600(주말)  (0) 2025.02.22
[개발일지] -599  (0) 2025.02.21
[개발일지] -598  (0) 2025.02.20

+ Recent posts