반응형
문제의 풀이가 이해가 잘 안돼서, 다른이들의 도움말을 봤다.
n초 시점에 주식을 prices[n] 가격에 사면, prices[n]보다 주식이 낮아지면,
그 시점까지의 걸리는 시간을 return 하는 문제다.
나의코드는 아래와 같다.
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
for(int i = 0; i<prices.length; i++){
int seconds = 1;
if(i+1 == prices.length){//맨 마지막에 구매시 break
answer[i] = 0;
break;
}
for(int j=i+1; j<prices.length; j++){
if(prices[j] >= prices[i]){
//패스
}else{
//구매가보다 작은경우
answer[i] = seconds;
break;
}
answer[i] = seconds;
seconds++;
}
}
return answer;
}
}
반복문을 돌려서 풀이했다.
i 값 : 주식을 구매한 시점
j 값 : 주식을 구매한 시점 이후
다른 사람들의 풀이를 보니, seconds 값을 j-i로 대체하여 답을 구하였다.
반응형
'코딩테스트 > Java' 카테고리의 다른 글
[JAVA] 스택/큐 "다리를 지나는 트럭" (0) | 2020.09.07 |
---|---|
[JAVA] 스택/큐 "기능개발" (1) | 2020.09.05 |
[JAVA] 해시 "위장" (0) | 2020.08.31 |
[JAVA] 해시 "전화번호 목록" (0) | 2020.08.31 |
[JAVA] 해시 "베스트앨범" (0) | 2020.08.31 |