반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/42584
설명
스택 / 큐로 분류된 문제라 이걸 활용해야 하나 싶었는데 그냥 이중 for문으로 풀었다.
정확성, 효율성 시간초과 안나더라!
아무튼 현재 주식가격을 기준으로 그 이후의 주식 가격들을 순회하면서 시간을 + 1 해 나간다.
그러다 현재보다 작은 주식 가격을 만난다면 순회를 멈추면 된다.
이를 이중 for문으로 모든 주식 가격에 적용하면 된다!
전체 코드
처음에는 아래와 같이 코드를 짰는데 굳이 cnt변수로 카운트할 필요가 없이 answer[i]++ 해주면 됨
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++;
break;
} else {
cnt++;
}
}
answer[i] = cnt;
}
import java.util.*;
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++) {
answer[i]++;
if(prices[i] > prices[j])
break;
}
}
return answer;
}
}
GITHUB
https://github.com/KwonMinha/Programmers/blob/master/Level2/src/StockPrice.java
반응형
'알고리즘 문제 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Java] 번 : 가장 큰 수 (0) | 2021.06.11 |
---|---|
[프로그래머스 - Java] 다리를 지나는 트럭 (3) | 2021.06.10 |
[프로그래머스 - Java] N진수 게임 (2018 KAKAO BLIND RECRUITMENT) (0) | 2021.05.08 |
[프로그래머스 - Java] 징검다리 건너기 (2019 카카오 개발자 겨울 인턴십) (1) | 2021.02.06 |
[프로그래머스 - Java] 경주로 건설 (2020 카카오 인턴십) (0) | 2021.01.31 |
댓글