문제: https://school.programmers.co.kr/learn/courses/30/lessons/42584
1. 코드
import java.util.*;
class Solution {
public List<Integer> solution(int[] prices) {
List<Integer> answer = new ArrayList<>();
for(int i = 0; i < prices.length - 1; i++) {
int cnt = 0;
for(int j = i + 1; j < prices.length; j++) {
cnt++;
if(prices[i] > prices[j])
break;
}
answer.add(cnt);
}
answer.add(0);
return answer;
}
}
2. 설명
반복문을 통해서 각 배열의 요소를 i라고 할 때 다음 요소인 j부터 끝까지 진행하여 가격이 떨어지는 순간 종료되는데 이때 반복문의 반복 횟수를 answer에 추가하며 배열의 마지막 요소는 검사할 것이 없기에 0을 추가해주며 answer를 반환하면 문제는 해결됩니다.
3. 정리
- 정답률이 낮고 효용성 테스트가 있어 긴장했지만 생각보다 쉽게 해결되었다.
출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 49993번: 스킬트리 [Java] (0) | 2023.11.06 |
---|---|
프로그래머스 - 49994번: 방문 길이 [Java] (0) | 2023.11.04 |
프로그래머스 - 1844번: 게임 맵 최단거리 [Java] [실패] (0) | 2023.11.03 |
프로그래머스 - 84512번: 모음사전 [Java] (0) | 2023.11.02 |
프로그래머스 - 42888번: 오픈채팅방 [Java] (0) | 2023.11.01 |