https://school.programmers.co.kr/learn/courses/30/lessons/42584
사실 레벨 2 정도는 쉽게 풀었으면 하는 스스로에게 기대가 있었는데
매일매일 새롭게 무너지는 중이라 마음이 아프다
항상 문제는 사소한 오타와
생각한 것을 침착하게 정리하지 않고
바로 코드 부터 타이핑 하고 보는 습관 때문인데
시간낭비가 따로 없다
내일은 좀 더 침착하게 할 수 있으면 좋겠다
문제 유형은 stack 이긴 하지만
그냥 list를 사용해도 될것 같다는 생각이 들었다.
해봐야 2중 for문 정도이니
사실 시간 단축을 위한 고민이 필요치 않다고 생각하고 그냥 문제를 풀기로 했다
풀이방식
하나(i)씩 꺼내서 다음 번호(j)의 숫자를 비교하여
i > j 이면 주식하락으로 보고 답을 저장한뒤
다음 번호(i)를 꺼내어 비교하는 방식이다.
정답
import java.util.*;
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
for(int i = 0; i< prices.length-1; i++){
for(int j = i ; j < prices.length; j++){
if(prices[i] > prices[j]){
answer[i] = j-i;
break;
}
if(j == prices.length-1){
answer[i] = prices.length - i -1;
}
}
}
return answer;
}
}
'알고리즘 > java' 카테고리의 다른 글
<java> put marbles in bags (0) | 2024.05.26 |
---|---|
<java> 프로그래머스 디스크 컨트롤러 : 우선순위 큐 (0) | 2024.05.24 |
<java> 프로그래머스 다리를 지나는 트럭 - 자료 구조 Deque (0) | 2024.05.22 |
<java> 백준 15829 - BigInteger (0) | 2024.05.21 |
<java> 프로그래머스 베스트 앨범 - Map과 정렬 (0) | 2024.05.20 |