mun dev

[COS PRO 1급] 1-10 주식으로 최대의 수익을 내세요 자바(Java) 본문

알고리즘/COS PRO 1급

[COS PRO 1급] 1-10 주식으로 최대의 수익을 내세요 자바(Java)

mndev 2023. 11. 25. 16:23

문제링크

 

구름HOME

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

문제유형

한줄 수정하기 문제

 

문제

import java.lang.Math;
import java.util.*;
 
class Main {
    int solution(int[] prices){
        int INF = 1000000001;
        int tmp = INF;
        int answer = -INF;
        for(int price : prices){
            if(tmp != INF)
                answer = Math.max(answer, tmp - price);
            tmp = Math.min(tmp, price);
        }
        return answer;
    }
 
public static void main(String[] args) {
        Main sol = new Main();
        int[] prices1 = {1, 2, 3};
        int ret1 = sol.solution(prices1);
        
        System.out.println("solution 함수의 반환값은 " + ret1 + " 입니다.");
        
        int[] prices2 = {3, 1};
        int ret2 = sol.solution(prices2);
        
        System.out.println("solution 함수의 반환값은 " + ret2 + " 입니다.");
    }
}

 

문제 풀이

import java.lang.Math;
import java.util.*;
 
class Main {
    int solution(int[] prices){
        int INF = 1000000001;
        int tmp = INF;
        int answer = -INF;
        for(int price : prices){
            if(tmp != INF)
                answer = Math.max(answer, price - tmp);
            tmp = Math.min(tmp, price);
        }
        return answer;
    }
 
public static void main(String[] args) {
        Main sol = new Main();
        int[] prices1 = {1, 2, 3};
        int ret1 = sol.solution(prices1);
        
        System.out.println("solution 함수의 반환값은 " + ret1 + " 입니다.");
        
        int[] prices2 = {3, 1};
        int ret2 = sol.solution(prices2);
        
        System.out.println("solution 함수의 반환값은 " + ret2 + " 입니다.");
    }
}