sean.jin
Spark Code Blog
sean.jin
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발공부
      • Kotlin
      • LeetCode
      • Algorithm
      • React
    • 주식차트
    • 책리뷰
    • 유틸리티

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 트리플 위칭데이
  • 책추천
  • 주식책리뷰
  • 쿼드러플위칭데이
  • 책
  • 자기개발
  • 주식입문자
  • 주식투자
  • 변동성
  • 아빠와 딸의 주식투자 레슨
  • 초보
  • 책리뷰
  • 경제
  • 부의 추월차선
  • 네마녀의날
  • 오

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sean.jin

Spark Code Blog

[Kotlin] LeetCode - Best Time to Buy and Sell Stock IISolution - 풀이과정
개발공부/LeetCode

[Kotlin] LeetCode - Best Time to Buy and Sell Stock IISolution - 풀이과정

2021. 6. 5. 15:18
반응형

문제

You are given an array prices where prices[i] is the price of a given stock on the ith day.

Find the maximum profit you can achieve. You may complete as many transactions as you like (i.e., buy one and sell one share of the stock multiple times).

Note: You may not engage in multiple transactions simultaneously (i.e., you must sell the stock before you buy again).

 

  • 그날의 stock 가격이 prices라는 array에 1일부터 차례로 주어집니다
  • 우리는 원하는 만큼 사고팔 수 있고, 사고팔아서 최대 이익을 내는 게 목표입니다. 

 

예시

  • 첫 번째의 input array는 [7,1,5,3,6,4]입니다.  첫 번째 날의 이 주식 가격은 7달러입니다. 2번째 날은 1달러 3번째날은 5달러 순으로 6번째 날까지 있습니다. 최대 수익을 내기위해, 2번째날(price = 1)사고 2번째날 (price = 5) 일에 팔고, 3번째 날 3일에 다시 사고, 

풀이

class Solution {
    fun maxProfit(prices: IntArray): Int {
        var result = 0 //처음 수익은 0입니다.
        for(i in 0 until prices.size-1){ //마지막 날은 사고 팔수없기때문에 마지막에서 두번째 날까지만 거래할수있도록 -1을 빼줍니다.
            if(prices[i] < prices[i+1]){ // i번째날이 그다음날보다 작을때만 아래 코드를 실행합니다.
                result = result + prices[i+1] - prices[i] //다음날의 주식가격이 비싸다면 수익으로 나오고 거기에 총수익을 더합니다.
            } else{
                //없다면 다음 i로 넘어갑니다.
            }
        }
        return result //result를 반환합니다.
    }
}
반응형

'개발공부 > LeetCode' 카테고리의 다른 글

[Kotlin] LeetCode: Intersection of Two Arrays IISolution 풀이  (0) 2021.06.11
[Kotlin] Array 에 같은 숫자 찾기, HashMap활용 풀이 - LeetCode: Single Number  (0) 2021.06.10
[Kotlin] Array에 반복되는 아이템 삭제하기 - ArrayList distinct - LeetCode: Contains Duplicate - 풀이 과정  (0) 2021.06.08
[Kotlin] String, Int 순서 뒤집기 - LeetCode: Reverse Integer 풀이  (0) 2021.06.05
[Kotlin] LeetCode 1. Two Sum 풀이 - for index, indices 활용  (0) 2021.06.04
    '개발공부/LeetCode' 카테고리의 다른 글
    • [Kotlin] Array 에 같은 숫자 찾기, HashMap활용 풀이 - LeetCode: Single Number
    • [Kotlin] Array에 반복되는 아이템 삭제하기 - ArrayList distinct - LeetCode: Contains Duplicate - 풀이 과정
    • [Kotlin] String, Int 순서 뒤집기 - LeetCode: Reverse Integer 풀이
    • [Kotlin] LeetCode 1. Two Sum 풀이 - for index, indices 활용
    sean.jin
    sean.jin
    앱개발, 알고리즘, JS, Kotlin, 미국 취업준비

    티스토리툴바