티스토리 뷰

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/42584

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

프로그래머스 코딩테스트 고득점 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
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함