본문 바로가기
프로그래머스/코딩테스트 고득점 Kit

[스택/큐] 주식 가격 (JAVA)

by 댈팽이 2024. 1. 8.
728x90

# 문제 설명

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.


제한사항

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.

입출력 예

prices return

[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]

 

# 정답 코드

public int[] solution(int[] prices) {
        int[] answer = new int[prices.length];
        
        for (int i = 0; i < prices.length; i++) {
        	int sec = 0;
        	
        	for (int j = i + 1; j < prices.length; j++) {
        		sec++;
        		
        		if (prices[i] > prices[j]) {
        			break;
        		}
        	}
        	
        	answer[i] = sec;
        }
        
        return answer;
    }

 

sec : 가격이 떨어지지 않은 시간을 저장한다.

 

안쪽 for문을 통해 sec를 증가시킨다.

만약 가격이 떨어진다면, 안쪽 for문을 멈춘다.

바깥쪽 for문을 통해 answer에 sec를 저장한다.

728x90