코린이의 소소한 공부노트

[프로그래머스/Lv.2] 주식가격 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.2] 주식가격

무지맘 2022. 12. 27. 23:08

1. Input

1) 초 단위로 기록된 주식가격이 담긴 배열 prices

 

2. Output

1) 가격이 떨어지지 않은 기간은 몇 초인지를 담은 배열

 

3. Constraint

1) prices의 각 가격은 1 이상 10,000 이하인 자연수

2) prices의 길이는 2 이상 100,000 이하

3) prices.length == 결과 배열의 길이

 

4. Example

Input: prices = [1, 2, 3, 2, 3] -> Output: [4, 3, 1, 1, 0]

설명:

- 1초 시점의 1은 떨어지지 않는다. -> 4초 유지

- 2초 시점의 2는 떨어지지 않는다 -> 3초 유지

- 3초 시점의 34초에서 떨어진다. -> 1초 유지

- 4초 시점의 2는 떨어지지 않는다. -> 1초 유지

- 5초 시점의 3은 마지막이므로 떨어지지 않는다. -> 0초 유지

 

5. Code

1) 첫 코드(2022/12/27)

int[] answer = new int[prices.length];
for(int i=0 ; i<prices.length-1 ; i++){
    boolean check = false;
    for(int j=i+1 ; j<prices.length ; j++){
        if(prices[i]>prices[j]){
            answer[i] = j-i;
            check = true;
            break;
        }
    } // for j
    if(!check) answer[i] = prices.length-1-i;
} // for i
answer[answer.length-1] = 0;
return answer;