티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42584
프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다.
스택을 사용하는 문제인 것 같은데 이중 for문이 더 간단할 것 같아 이렇게 구현했다.
주식 가격이 떨어질 때까지 sec를 1씩 증가시키고,
떨어지는 경우에 배열에 sec를 대입한다.
끝까지 한번도 떨어지지 않으면 배열이 갱신되지 않으므로
떨어지면 flag를 true, 떨어지지 않으면 false로 설정해
마지막에 flag값을 확인하고 false면 배열에 값을 갱신한다.
import java.util.ArrayList;
class Solution {
public int[] solution(int[] prices) {
int[] result = new int[prices.length];
for(int i=0;i<prices.length;i++) {
int sec = 0;
boolean flag = false;
for(int j=i+1;j<prices.length;j++) {
if(prices[i] > prices[j]) {
result[i] = ++sec;
flag = true;
break;
}
sec++;
}
if(!flag)
result[i] = sec;
}
return result;
}
}
728x90
'algorithm > programmers' 카테고리의 다른 글
[프로그래머스/자바] 디스크 컨트롤러 풀이 (0) | 2022.11.14 |
---|---|
[프로그래머스/자바] 더 맵게 풀이 (0) | 2022.11.14 |
[프로그래머스/자바] 프린터 풀이 (0) | 2022.11.14 |
[프로그래머스/자바] 기능개발 풀이 (0) | 2022.11.14 |
[프로그래머스/자바] 올바른 괄호 풀이 (0) | 2022.11.14 |