문제
입출력 예시
코드
배열을 이용한 풀이 - O
보자마자 이중 반복문을 이용하여 풀면 되겠다는 생각이 들었다.
- 현재 값과 다음 값을 비교한다.
- 떨어지지 않았다면
- 떨어지지 않은 기간인 answer[i]에 1초를 더한다.
- 떨어졌다면
- 현재 ~ 다음까지 1초간은 유지됐기 떄문에 answer[i]에 1초를 더한 뒤 break를 하여 다음 요소로 넘어간다.
- 떨어지지 않았다면
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
for (int i = 0; i < prices.length; i++) {
for (int j = i+1; j < prices.length; j++) {
if (prices[i] <= prices[j]) // 떨어지지 않았다면
answer[i] += 1;
else { // 가격이 떨어진 경우
answer[i] += 1; // 현재 시점엔 유지기 때문에 +1을 한 뒤 break;
break;
}
}
}
return answer;
}
}
```
'코딩 테스트 > 자료구조' 카테고리의 다른 글
[백준] 2841 외계인의 기타 연주(실버1) - 스택 (0) | 2024.07.01 |
---|---|
[백준] 1966 프린터 큐(실버3) - 큐(Queue) (0) | 2024.07.01 |
[프로그래머스] 42583 다리를 지나는 트럭(Lv2) - 큐 (0) | 2024.06.30 |
[프로그래머스] 42587 프로세스(Lv2) - 큐(우선순위 큐) (0) | 2024.06.29 |
[프로그래머스] 42586 기능개발(Lv2) - 배열(스택, 큐) (0) | 2024.06.28 |