https://school.programmers.co.kr/learn/courses/30/lessons/42584?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
쉬운문제입니다.
[step 1]. for문으로 각각 prices[0], prices[1], prices[2] ... 를 돌면서 각각 초의 시간대마다 반복문을 돕니다.
[step 2]. 각 시작초부터 끝초까지 반복문을 시작하여 해당 초보다 더 작다면 거기서 중단하고 얼마나 갔는지 체크하면됩니다.
기억해야할점
첫번째, 문제를 정확히 이해야합니다.
- 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
이 말을 생각하지 않아서 처음에 틀렸었습니다.
위의 조건을 대입하면, 만약 해당 주식값이 떨어진 지점을 찾았다면, 3초에서 4초로 되면서 떨어진것이므로
1초가 지난것입니다. 그러므로 cnt+=1 을 통해 초를 1초 올려줍니다.
class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.length]; int answeridx = 0; for(int i=0;i<prices.length;i++){ int cnt = 0; for(int j=i+1;j<prices.length;j++){ if(prices[i] <= prices[j]){ cnt += 1; }else{ cnt += 1; break; } } answer[answeridx++] = cnt; } return answer; } }
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 가장 많이 받은 선물 - 구현(Implementation) + 2차원배열(two dimension array) + 해쉬맵(HashMap) JAVA (0) | 2024.03.04 |
---|---|
[프로그래머스]더 맵게 - 우선순위큐 (0) | 2023.02.25 |
[프로그래머스]프린터 - 큐 + arraylist (0) | 2023.02.15 |
[프로그래머스]게임 맵 최단거리 - BFS (0) | 2023.02.07 |
[프로그래머스]타겟 넘버 - DFS (0) | 2023.02.07 |